5

Tomcat 的优化方式

 1 year ago
source link: https://blog.51cto.com/codeshallow/5714462
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Tomcat 的优化方式

Tomcat 作为 Web 服务器,它的处理性能直接关系到用户体验,下面是几种常见的

优化措施:

1、去掉对 web.xml 的监视,把 jsp 提前编辑成 Servlet。有富余物理内存的情况,
加大 tomcat 使用的 jvm 的内存。

2、服务器资源

服务器所能提供 CPU、内存、硬盘的性能对处理能力有决定性影响。

  • 对于高并发情况下会有大量的运算,那么 CPU 的速度会直接影响到处
  • 内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用 -

Xmx -Xms -XX:MaxPermSize 等参数对内存不同功能块进行划分。我

们之前就遇到过内存分配不足,导致虚拟机一直处于 full GC,从而导

致处理能力严重下降。

  • 硬盘主要问题就是读写性能,当大量文件进行读写时,磁盘极容易成为

性能瓶颈。最好的办法还是利用下面提到的缓存。

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" />

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK