Spring boot下Servlet容器Tomcat和Undertow性能对比

测试目的:

Tomcat和Undertow的性能做对比,确定生产环境调优参数

测试工具

压测工具:jmeter

jvm监控工具:visualvm

测试过程:

设置jmeter的线程组参数,设置如下:100个线程,每个线程发起100个请求,线程启动间隔是1秒

jmeter线程组参数设置

设置请求参数,这里设置的是http,post请求。

jmeter的http request参数设置

测试tomcat下的性能表现

viusalVm监控结果:

tomcat下的性能监控图
jmeter聚合报告:

jmeter聚合报告-tomcat

测试Undertow下的性能表现

undertow下的性能监控图
jmeter聚合报告:

jmeter聚合报告-undertow

测试结果

当服务启动后有监控图对比

servlet容器使用内存(最大)线程数
tomcat65M122
undertow47M15

jmeter压测过程中监控结果对比

servlet容器使用内存(最大)线程数
tomcat148M19
undertow127M47

jmeter报告的对比

使用servlet容器samplesAverageMedia90%Line95%Line99%LineMinMaxError%ThroughputKB/Sec
tomcat100001661222473591390239820.00%467.3/sec115.1
undertow10000151113270375788323240.00%545.4/sec132.6

结论:

在相同资源使用量的情况下undertow有较好的吞吐量和较低的访问时延,所以生产环境

以上只是粗略的测试,也不够专业,敬请谅解,但大致能对比出结果。如果大家有更好的测试方法,欢迎交流,可邮件联系。


未经允许请勿转载:程序喵 » Spring boot下Servlet容器Tomcat和Undertow性能对比

点  赞 (0) 打  赏
分享到: