tomcat性能优化方式简单整理

tomcat性能优化方式简单整理

本文主要介绍tomcat性能优化方法的简单安排,并通过实例代码进行详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。

Tomcat本身优化

Tomcat内存优化

启动的时候告诉JVM我要大内存(调内存是最直接的方式)。

我们可以在tomcat的启动脚本catalina.sh中设置java_OPTS参数

JAVA_OPTS的参数描述

启用服务器jdk的服务器版本。

xmjava虚拟机初始化时的最小内存。

xmjava虚拟机可以使用的最大内存

XX: PermSize内存永久保留区

XX:MaxPermSize内存最大永久保留区

示例配置:

JAVA _ OPTS=-xms 1024m-xmx 2048m-XX:PermSize=256m-XX:MaxNewSize=256m-XX:MaxPermSize=256m

注意:其内存的配置需要基于服务器(或虚拟机)的实际内存。

重新启动tomcat生效。

Tomcat IO优化

如何在必要的时候使用APR从操作系统层面解决异步IO问题?其次,使用NIO。

server.xml中

Tomcat线程优化

max threads= 600 //最大线程数

MinSpareThreads= 100 /////初始化期间创建的线程数

max threads= 500 //一旦创建的线程超过这个值,Tomcat就会关闭不再需要的套接字线程。

AcceptCount=700//指定当用于处理请求的所有可用线程都被使用时,可以放入处理队列的请求数,超过此数的请求将不会被处理。

使用线程池

在server.xml中添加executor节点,然后配置连接器的executor属性。

NamePrefix:线程池中线程的命名前缀。

MaxThreads:线程池中线程的最大数量。

MinSpareThreads:线程池中空闲线程的最小数量。

MaxIdleTime:当超过空闲线程的最小数量时,更多的线程将等待这个时间长度,然后关闭。

线程优先级:线程优先级

executor name= tomcatThreadPool name prefix= req-exec- max threads= 1000 minSpareThreads= 50 maxidle time= 60000 /

连接器端口=8080 协议=HTTP/1.1 执行器=tomcatThreadPool/

禁用DNS查询

web应用程序在记录客户端的信息时,也会记录客户端的IP地址或者通过域名服务器查找机器名并转换为IP地址。DNS查询需要占用网络,并且包括从很多远程服务器或者无功能服务器获取相应IP的过程,会花费一定的时间。为了消除DNS查询对性能的影响,我们可以通过修改server.xml文件中enableLookups参数的值来关闭DNS查询。

缓存优化

对于静态页面,最好缓存,这样就不用每次都从磁盘读取了。我们使用Nginx作为缓存服务器来缓存图片、css和js文件,有效减少了tomcat的访问。

Tomcat支持GZIP压缩来提高web性能

使用以下节点修改%TOMCAT_HOME%/conf/server.xml:

GZIP的缺点。相比没有GZIP的项目,使用GZIP会增加服务器压缩(cpu消耗)的压力和客户端解压的压力,所以对服务器配置要求更高。此外,压缩也需要时间。如果想占用更小的空间,获得更高的压缩比,就必须牺牲更长的时间。另一方面,如果时间宝贵,要求快,那么得到的压缩比必然小,当然会占用更多的空间(压缩比=原始内容大小/压缩后的大小,压缩比越大,压缩后占用空间的压缩包越小),这就是物理空间和时间的矛盾。

与nginx合作进行集群

Jvm调优

操作系统调整

对于操作系统优化,就是尽可能的增加可用内存容量,提高CPU的频率,保证文件系统的读写速率。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

tomcat性能优化方式简单整理