一、Tomcat调优
1、Connector
Connector 用于接收请求并将请求封装成Request 和Response 来具体处。
Connector有三种连接方式:bio、nio 和 apr。三种连接方式性能差别很大,apr 》nio》 bio 。如果系统没有安装Apr库,就会使用BIO方式。一定要确保系统安装了Apr库
2、配置文件server.xml
最大并发数
根据硬件的配置来考虑,同时操作系统有一些限制:Linux 每个进程中的线程数不允许超过 1024。
另外,在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈之用。
acceptCount:当tomcat的线程数达到了最大时,接收排队的最大请求个数。默认值为100,超过默认值丢弃。
3、JAVA_OPT参数
堆:Xms、Xmx初始化一致
Xss:每个线程所消耗的内存大小,最好设置成128K,默认值为512K。
二、JVM调优工具
根据系统运行日志、堆栈错误信息、gc日志、线程快照、堆转储快照等,进行系统的调优。
1、jps
查看虚拟机启动的所有进程、执行主类的全名、JVM启动参数。
2、Jstat
监视虚拟机信息。Jstat还可以以其他角度监视各区内存大小、监视类装载信息等。
3、Jmap 查看堆内存信息
4、Jconsole、Jvisualvm。
分析内存信息:各个区如Eden、Survivor、Old等内存变化情况;如果查看的是远程服务器的JVM,程序启动需要加上一些参数。Jconsole可以远程监控JAVA应用的内存信息。