开发者社区> 问答> 正文

Java性能优化,如何给Tomcat调优

Java性能优化,如何给Tomcat调优

展开
收起
道月芬1 2021-11-01 11:19:45 862 0
1 条回答
写回答
取消 提交回答
  • 去掉对web.xml的监视,把jsp提前编辑成Servlet。有富余物理内存的情况,加大tomcat使用的jvm的内存。 服务器资源,服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。 对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度。 内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用-Xmx-Xms-XX:MaxPermSize等参数对内存不同功能块进行划分。我们之前就遇到过内存分配不足,导致虚拟机一直处于full GC ,从而导致处 理能力严重下降。 硬盘主要问题就是读写性能,当大量文件进行读写时,磁盘极容易成为性能瓶颈。最好的办法还是利用下面提到的缓存。 利用缓存和压缩。 对于静态页面最好是能够缓存起来,这样就不必每次从磁盘上读。这里我们采用了Nginx作为缓存服务器,将图片、css、js文件都进行了缓存,有效的减少了后端tomcat的访问。另外,为了能加快网络传输速度,开启 gzip压缩也是必不可少的。但考虑到tomcat已经需要处理很多东西了,所以把这个压缩的工作就交给前端的Nginx来完成。 除了文本可以用gzip压缩,其实很多图片也可以用图像处理工具预先进行压缩,找到一个平衡点可以让画质损失很小而文件可以减小很多。曾经我就见过一个图片从300多kb压缩到几十kb,自己几乎看不出来区别。 采用集群 单个服务器性能总是有限的,最好的办法自然是实现横向扩展,那么组建tomcat集群是有效提升性能的手段。我们还是采用了Nginx来作为请求分流的服务器,后端多个tomcat共享session来协同工作。 优化tomcat参数

    2021-11-01 11:21:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
从《阿里巴巴Java开发手册》编写推广谈技术成长 立即下载
如何通过 Serverless 提高 Java 微服务治理效 立即下载
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载