nginx+tomcat与tomcat性能对比测试

时间:2024-04-09 22:37:06

1.硬件环境:

物理总内存:16G

物理CPU个数:2

CPU内核数:1

2.软件环境:

操作系统版本:CentOS release 6.9

jdk版本:jdk1.7.0_09

jfinal版本:jfinal-1.9

虚拟机配置:
JAVA_OPTS='-server -Xmx1024m -Xms1024m -Xss512k -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:+UseParNewG C -XX:+PrintGCDetails -Dcom.sun.management.jmxremote.port=8087 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'

tomcat配置:

<Connector executor="tomcatThreadPool" port="8829" enableLookups="false" protocol="org.apache.coyote.http11.Http11NioProtocol" acceptorThreadCount="4" selectorPool.maxSelectors="4" connectionTimeout="5000" redirectPort="8443" URIEncoding="utf-8"/>

3.测试数据:

从另一台服务器使用apache的ab工具发送get请求,请求数据128字节,响应数据1024字节,不解析响应数据;分为2种模式,模式1是直接使用ab工具向tomcat发送请求,模式2是使用ab工具发送请求到nginx,由nginx转发请求到tomcat

模式1测试如下:

nginx+tomcat与tomcat性能对比测试
模式2测试如下:

nginx+tomcat与tomcat性能对比测试


结论:nginx+tomcat响应速度明显要低于直接请求tomcat,性能不如直接请求tomcat,但是nginx由于多了中间一层转发,使得请求压力不会一次性都集中在tomcat上,因此nginx+tomcat的CPU明显低于直接请求tomcat,也大大避免了因请求量过大导致tomcat服务不可用。