JAVA应用服务器
weblogic
websphere
tomcat
resin(百度,去哪网,搜狗,人人,互动百科)
jboss
resin官网:www.caucho.com
jvm的调优:
1 JAM内存
2 选择一个对业务好的回收器,知道各个回收器原理。
最终目的是降低full gc的频率。full gc会导致应用的暂停,什么业务也不会处理。
只有等full gc处理完成才能处理。
1 jvm的调优
最大堆内存的大小XmX
初始堆内存的大小Xms
年轻代的内存大小Xmn
持久代的内存大小XX:PermSize
修改内存等 JVM相关配置
bin/catalina.sh
JAVA_OPTS="-server -XX:PermSize=512M -XX:MaxPermSize=1024m -Xms2048m -Xmx2048m"
-server:启用 JDK的 server 版本;
-Xms:Java虚拟机初始化时堆的最小内存,一般与 Xmx配置为相同值,这样的好处是GC不必再为扩展内存空间而消耗性能;
-Xmx:Java虚拟机可使用堆的最大内存;
-XX:PermSize:Java虚拟机永久代大小;
-XX:MaxPermSize:Java虚拟机永久代大小最大值;
垃圾回收器。
配置优化,线程池的设置
https的
<Connector port="8080"
protocol="HTTP/1.1"
URIEncoding="UTF-8"
maxThreads="1000" 最大线程数
minSpareThreads="100" 初始化时创建的线程数
acceptCount="1000" 指定当所有可以使用的处理请求线程数被使用时,可以放到
处理队列中的请求数,超过这个数请求不予处理。
maxSpareThreads="500" 一旦创建线程数超过这个值,tomcat就会关闭不需要的socket线程。
maxConnections="1000"
connectionTimeout="20000"
maxHttpHeaderSize="8192"
tcpNoDelay="true"
maxProcessors="1000"
minProcessors="5"
uesURIValidationHack="false"
compression="on" 开启压缩
compressionMinSize="2048" 文件超过多大后在压缩。
compressableMimeType="test/html,text/xml,text/javascript,text/ccs,test/plain"
SSLEnabled="true"
scheme="https" secure="ture"
clientAuth="false" sslProtocol="TLS"
keystoreFile="d:/tomcat2/conf/shnlap93.jks" keystorePass="aaaaa"
disableUploadTimeout="true" 打开下载超时
redirectPort="8443"
enableLookups="false" 关闭DNS查询
/>
bin/catalina.sh
看详细东西,看jvm各种参数
安装windows版本的
http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-windows-x64.exe
找到Java/bin下的exe程序文档,jconsole.exe 和
正常情况下,生产有jvm参数
这里测试在vi catalina.sh添加,重启
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sum.management.jmxremote
-Dcom.sum.management.jmxremote.port=123456 -Dcom.sum.management.jmxremote.authenticate=false
-Dcom.sum.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.133.3"
jconsole.exe
远程进程:192.168.133.3:123456 连接
查看内存:选择 执行GC
jvisualvm.exe
添加远程主机或者JMX连接
192.168.133.3:123456
可以在概述下查看jvm参数和系统属性
监视:
执行垃圾回收。
生产下用zabbix中的Java gateway也可以监视。
https://www.cnblogs.com/crysmile/p/7071103.html
www.zabbix.com
cmdline-jmxclient