tomcat优化

tomcat 优化相关

1.怎么给tomcat调优

  • JVM参数调优:

-Xms表示的是JVM初始堆的大小,-Xmx表示的的是JVM中堆的最大值。这两个通常要进行设置,当应用程序需要的内存超过堆的最大值时候,虚拟机会报内存溢出。
堆的最大值应该设置为虚拟机可用最大内存的80%。具体文件在catalina.bat中,设置JAVA-OPTS = '-Xms256m-Xmx512m'。

  • 禁用DNS查询

当web应用程序向要记录客户端的信息时候,它也会记录客户端的ip地址或者通过域名服务器查找机器转换为ip地址,DNS查询会占用网络,消耗时间,为了消除DNS查询对性能的影响,我们要关闭DNS查询,方式是修改Server.xml文件中的enableLookups参数为false;

  • 调整线程数

tomcat4中可以修改minProcessors和maxProcessors的值进行控制线程数,这些在安装后就一定设置了默认值并且是足够使用的,但随着站点的扩容要改大这些值,但是这两个值都是有上限的,通常windows是2000个左右,Linux是1000个左右。
tomcat5中改变了这些参数
maxThreads:表示tomcat科创建的最大线程数。
acceptCount:可以放在处理队列中的请求数,超过这个数的请求将不予处理。
connection Timeout 网络连接超时,单位:毫秒。通常设置为30000毫秒
minSpareThread Tomcat初始化时候创建的线程数
maxSpareThreads 一旦创建的线程超过了这个值,Tomcat就会关闭不在需要Socket线程。
最好的方式就是多设置几次进行测试,观察响应时间和内存的使用情况,不能一刀切的确定线程的数值

  • 去掉对web.xml的监视,把jsp提前编辑为servlet。有富余物理内存的情况,加大tomcat使用的jvm的北村
  • 服务器资源
    服务器所能提供的CPU,内存,硬盘的性能对处理能力有决定性的作用。
  • 利用缓存和压缩
    对于静态页面最好是能够缓存下来,这样就不必每次都从磁盘下读,这里我们可以采取nginx作为缓存服务器,将图片,css,js文件都进行缓存,减少对头端tomcat的访问,另外为了能加快网络传输速度,开启gzip压缩也是必不可少的。这个压缩交给前端的nginx进行完成。
  • 采用集群
    单个服务器的性能是有限的,最好的办法就是组建tomcat集群,我们采用Nginx来作为请求分流的服务器,后端多个tomcat共享session进行协同工作。