1、掉对web.xml的监视,把jsp提早编辑成Servlet。有富余物理内存的状况,加大tomcat使用的jvm的内存 2、服务器资源 服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。 (1) 对于高并发状况下会有大量的运算,那么CPU的速度会直接影响处处理速度。 (2) 内存在大量数据处理的状况下,将会有较大的内存容量需求,能够用-Xmx -Xms -XX:MaxPermSize等参数对内存不一样功能块进行划分。咱们以前就遇到过内存分配不足,致使虚拟机一直处于full GC,从而致使处理能力严重降低。 (3) 硬盘主要问题就是读写性能,当大量文件进行读写时,磁盘极容易成为性能瓶颈。最好的办法仍是利用下面提到的缓存。 3、利用缓存和压缩 对于静态页面最好是可以缓存起来,这样就没必要每次从磁盘上读。这里咱们采用了Nginx做为缓存服务器,将图片、css、js文件都进行了缓存,有效的减小了后端tomcat的访问。 另外,为了能加快网络传输速度,开启gzip压缩也是必不可少的。但考虑到tomcat已经须要处理不少东西了,因此把这个压缩的工做就交给前端的Nginx来完成。 除了文本能够用gzip压缩,其实不少图片也能够用图像处理工具预先进行压缩,找到一个平衡点可让画质损失很小而文件能够减少不少。曾经我就见过一个图片从300多kb压缩到几十kb,本身几乎看不出来区别。 4、采用集群 单个服务器性能老是有限的,最好的办法天然是实现横向扩展,那么组建tomcat集群是有效提高性能的手段。咱们仍是采用了Nginx来做为请求分流的服务器,后端多个tomcat共享session来协同工做。能够参考以前写的《利用nginx+tomcat+memcached组建web服务器负载均衡》。 5、. 优化tomcat参数 这里以tomcat7的参数配置为例,须要修改conf/server.xml文件,主要是优化链接配置,关闭客户端dns查询。 <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" maxThreads="500" minSpareThreads="20" acceptCount="100" disableUploadTimeout="true" enableLookups="false" URIEncoding="UTF-8" />