4000336031 微信 li1377174255

Java面试题Tomcat的优化经验

来源:北大青鸟长沙麓谷校区 发布时间:2019/4/12 10:04:24

Tomcat作为Web服务器,它的处理性能直接关系到用户体验,下面是几种常见的优化措施。下面长沙北大青鸟小编来为大家介绍一下吧。

Java面试题Tomcat的优化经验


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

二、服务器资源

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

(1)对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度。

(2)内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用-Xmx-Xms-XX:MaxPermSize等参数对内存不同功能块进行划分。我们之前就遇到过内存分配不足,导致虚拟机一直处于fullGC,从而导致处理能力严重下降。

(3)硬盘主要问题就是读写性能,当大量文件进行读写时,磁盘极容易成为性能瓶颈。好的办法还是利用下面提到的缓存。

三、利用缓存和压缩

对于静态页面好是能够缓存起来,这样就不必每次从磁盘上读。这里我们采用了Nginx作为缓存服务器,将图片、css、js文件都进行了缓存,有效的减少了后端tomcat的访问。

另外,为了能加快网络传输速度,开启gzip压缩也是必不可少的。但考虑到tomcat已经需要处理很多东西了,所以把这个压缩的工作就交给前端的Nginx来完成。

除了文本可以用gzip压缩,其实很多图片也可以用图像处理工具预先进行压缩,找到一个平衡点可以让画质损失很小而文件可以减小很多。曾经我就见过一个图片从300多kb压缩到几十kb,自己几乎看不出来区别。

四、采用集群

单个服务器性能总是有限的,好的办法自然是实现横向扩展,那么组建tomcat集群是有效提升性能的手段。我们还是采用了Nginx来作为请求分流的服务器,后端多个tomcat共享session来协同工作。可以参考之前写的《利用nginx+tomcat+memcached组建web服务器负载均衡》。

五、优化tomcat参数

这里以tomcat7的参数配置为例,需要修改conf/server.xml文件,主要是优化连接配置,关闭客户端dns查询。

1.<connectorport="8080"

2.protocol="org.apache.coyote.http11.Http11NioProtocol"

3.connectionTimeout="20000"

4.redirectPort="8443"

5.maxThreads="500"

6.minSpareThreads="20"

7.acceptCount="100"

8.disableUploadTimeout="true"

9.enableLookups="false"

10.URIEncoding="UTF-8"/>

更多java知识,请关注长沙北大青鸟.


领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 北大青鸟长沙麓谷校区

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)