tomcat 调优

news/2023/6/9 19:39:11

tomcat 调优

修改文件 conf/server.xml

Tomcat访问量大的情况下, 经常出现问题,调用别人接口很慢时,tomcat会一直堆积,因为没有配置maxThreads=“3000”,默认只有200,线程数配置的太小。

所以导致这tomcat经常告警,出问题。

浏览器访问:
http://192.168.0.30:8080/manager

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" maxThreads="3000" acceptCount="1000" />
maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200
acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100

配置tomcat内存 及jmx监控tomcat

修改文件 bin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=192.168.0.30 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"JAVA_OPTS="-Xms4096m -Xmx4096m"  ####配置4G内存
cygwin=false
darwin=false
os400=falseps aux|grep tomcat
/userdata/java8/bin/java -Djava.util.logging.config.file=/userdata/apache-tomcat-8.0.5/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms4096m -Xmx4096m -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=192.168.0.30 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/userdata/apache-tomcat-8.0.5/endorsed -classpath /userdata/apache-tomcat-8.0.5/bin/bootstrap.jar:/userdata/apache-tomcat-8.0.5/bin/tomcat-juli.jar -Dcatalina.base=/userdata/apache-tomcat-8.0.5 -Dcatalina.home=/userdata/apache-tomcat-8.0.5 -Djava.io.tmpdir=/userdata/apache-tomcat-8.0.5/temp org.apache.catalina.startup.Bootstrap startbin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=192.168.0.209 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote.rmi.port=18888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.access.file=/userdata/apache-tomcat-8.0.5/bin/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/userdata/apache-tomcat-8.0.5/bin/jmxremote.password"
JAVA_OPTS="-Xms4096m -Xmx4096m"
cygwin=false
darwin=false
os400=false或
bin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=52.76.173.129 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote.rmi.port=18888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

jmx获取tomcat监控信息 需要配置下面这句, 参考链接:
http://blog.csdn.net/cenfei78325747/article/details/8443254
http://www.cnblogs.com/likehua/p/4087320.html

http://blog.arganzheng.me/posts/tomcat-monitor.html
http://blog.vfocus.net/archives/000470.html
https://blog.linuxeye.com/262.html

注意这个配置,不然远程的jconsole连接不上, 因为每次启动tomcat端口会随机生成,这个是固定端口
-Dcom.sun.management.jmxremote.rmi.port=18888

启动tomcat 报错

java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: ip-192-168-0-59.ap-southeast-1.compute.internal: ip-192-168-0-59.ap-southeast-1.compute.internal: unknown error

增加内网 外网 192.168.0.16   ip-192-168-0-59.ap-southeast-1.compute.internal 到hosts
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.0.16    ip-192-168-0-59.ap-southeast-1.compute.internal
192.168.0.16	ip-192-168-0-16iptables -L -n
netstat -tpnl
netstat -lntp |grep javavim /etc/sysconfig/iptables
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 80,443,18888 -j ACCEPT
service iptables restart

jmx获取tomcat监控信息

需要配置下面这句, 参加链接
http://blog.csdn.net/cenfei78325747/article/details/8443254
http://elf8848.iteye.com/blog/471676
http://lib.csdn.net/article/linux/32843
http://blog.csdn.net/jz20110918/article/details/44059997
http://www.cnblogs.com/likehua/p/4087320.html
http://www.cnblogs.com/yezhaohui/p/3875567.html

/software/jdk1.8.0_11/bin$ ./jconsole  或 ./jvisualvm
远程进程 连接
192.168.0.16:18888
52.71.73.129:18888hostname=192.168.0.16配置内网ip时,v-p-n连接时,内网外网都能连接上,程序jmx也能连接上。当断开v-p-n时,都连接不上
hostname=52.71.73.129配置外网ip时,v-p-n连接时,内网外网都能连接上,程序jmx也能连接上。当断开v-p-n时,内网连接不上, 外网和jmx程序能连接上

jmx设置密码连接

http://it.nfsq.com.cn/index.php/2016/04/17/linux-tomcat8-jmx-monitor/
https://my.oschina.net/manmao/blog/637930
http://www.ibm.com/support/knowledgecenter/zh/SS2L6K_6.0.0/com.ibm.jazz.repository.web.admin.doc/topics/t_server_mon_tomcat_option2.html

cd /userdata/apache-tomcat-8.0.21/bin/
cp /userdata/jre1.8.0_45/lib/management/jmxremote.password.template jmxremote.password
cp /userdata/jre1.8.0_45/lib/management/jmxremote.access jmxremote.access
chmod 600 jmxremote.access jmxremote.password
vim jmxremote.password
monitorRole  autoTestTomcat
controlRole  autoTestTomcatvim catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=52.71.73.129 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote.rmi.port=18888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.access.file=jmxremote.access -Dcom.sun.management.jmxremote.password.file=jmxremote.password"tomcat manager密码配置
http://chat.xxx.im/managerusername="liang" password="liang_123456"
conf/tomcat-users.xml
其他的tomcat后台管理用户密码是一样的
tomcat-users.xml
<role rolename="admin"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="liang" password="liang_123456" roles="manager-script,admin,manager,manager-gui"/></tomcat-users> 它前面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4562651.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

确定比赛名次

确定比赛名次 题目描述 hdu1285 核心思路 题意&#xff1a;输出字典序最小的拓扑序列 主要思路&#xff1a;在当前步骤&#xff0c;在所有入度为0的点中输出编号最小的。 考虑用BFS实现拓扑排序&#xff1a; 修改BFS的拓扑排序程序&#xff0c;将普通队列修改成优先队列Q&…

选手的名次 C语言实现

目录 一、题目描述 二、输入样例 三、输出样例 四、思路 五、代码实现 一、题目描述 二、输入样例 2 A C B D E E D A C B 三、输出样例 NO NO 四、思路 A、B、C、D、E的名次计算 可以声明五个整型变量A B C D E 当他们对应的数字&#xff08;名次&#xff09;满足题目…

猜名次

5位运动员参加了10米台跳水比赛&#xff0c; 有人让他们预测比赛结果&#xff1a; A选手说&#xff1a;B第二&#xff0c;我第三&#xff1b; B选手说&#xff1a;我第二&#xff0c;E第四&#xff1b; C选手说&#xff1a;我第一&#xff0c;D第二&#xff1b; D选手说&#x…

猜比赛名次

猜比赛名次 5位运动员参加了跳水,有人让她们预测结果: A选手说:B第二,我第三 B选手说:我第二,E第四 C选手说:我第一,D第二 D选手说:C最后,我第三 E选手说:我第四,A第一 比赛结束后,每一位选手都说对了一半,请编写程序确定比赛的名次. 穷举法 判定结果是否重合利用a * b * c …

相同分数排相同名次C语言,实验六 按成绩输出名次

实验目的掌握常用的排序方法&#xff0c;并掌握用c语言或C实现排序的方法&#xff1b;深刻理解排序的定义和各种排序方法的特点&#xff0c;并能加以灵活应用&#xff1b;了解各种方法的排序过程及其依据的原则&#xff0c;并掌握各种排序方法的时间复杂度的分析方法。实验内容…

C语言-猜名次

5位运动员参加了10米台跳水比赛&#xff0c;有人让他们预测比赛结果&#xff1a; A选手说&#xff1a;B第二&#xff0c;我第三&#xff1b; B选手说&#xff1a;我第二&#xff0c;E第四&#xff1b; C选手说&#xff1a;我第一&#xff0c;D第二&#xff1b; D选手说&#xf…

mysql查询排名名次

Mysql 中按成绩降序排名 取名次。 每个人的名次都要有 SELECTB.NAME, B.SCORES, (SELECTCOUNT(1)1 FROM分数表A WHEREA.SCORES>B.SCORES)PM FROM分数表B ORDERBYPM; mysql 用分数排名 更新数据库里的名次 selectuser,averag,ROW_NUMBER()OVER(ORDERBYaveragdesc)ranking fro…

数据结构名次计算和排序算法

数据结构名次计算和排序算法1.名次计算以及排序1.名次计算以及排序 给数组a[n]中的元素进行名次的计算。就比如a[]{2,1,4,7,5},计算完名次之后会出现r[]{2,1,3,5,4}&#xff0c;每一个r中元素代表的是其在a数组中对应元素所排的名次。 下面给出代码&#xff1a; #include<i…