ITPub博客

首页 > 应用开发 > Java > 好程序员分享Java常见面试题Tomcat优化经验

好程序员分享Java常见面试题Tomcat优化经验

原创 Java 作者:好程序员IT 时间:2019-10-10 16:59:10 0 删除 编辑

  好程序员分享 Java 常见 面试题Tomcat 优化经验 Tomcat 作为 Web 服务器,它的处理性能直接关系到用户体验,下面是几种常见的优化措施:

 

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

 

二、服务器资源

 

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

 

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

 

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

 

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

 

三、利用缓存和压缩

 

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

 

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

 

除了文本可以用gzip 压缩,其实很多图片也可以用图像处理工具预先进行压缩,找到一个平衡点可以让画质损失很小而文件可以减小很多

 

四、采用集群

 

单个服务器性能总是有限的,最好的办法自然是实现横向扩展,那么组建tomcat 集群是有效提升性能的手段。我们还是采用了 Nginx 来作为请求分流的服务器,后端多个 tomcat 共享 session 来协同工作。

 

五、. 优化 tomcat 参数

 

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

 

1.<connector port="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" />

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913892/viewspace-2659404/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
欢迎关注公众号:好程序员特训营 web前端教程分享 723729549 大数据教程分享 703503210

注册时间:2019-03-20

  • 博文量
    539
  • 访问量
    410766