小白请教tomcat性能优化问题,优化前和优化后压力测试结果一样。

tomcat8默认配置下:
内存情况
线程情况

进行ab压力测试(400并发,1000请求)
ab命令
测试结果1

测试结果2

tomcat8修改配置:
在catalina.sh中添加jvm参数,在server.xml中修改线程参数

tomcat8默认为nio模式连接参数

重启后参数生效,内存情况线程情况

再次进行ab压力测试
ab命令
测试结果1

测试结果2

(此处修改的只是一些简单的参数,但应该是最直接有效的,简单的也不行,那高级的参数更不用说了。测试的java程序是一段正常的查询多个表数据的业务代码,起初以为是数据库方面的问题,但是发现已经启用连接池,小白刚毕业不久请求网上大佬指教。)

回答:

你修改的是内存和线程数,没有因为这些参数的改变提高性能,显示之前内存也是充裕的,线程数也不是瓶颈。
优化要做的第一件事是测量,没有测量优化便没有目标,你需要测量出系统在各个阶段的耗时。数据库方面通常是耗时最严重部分。连接池解决的是缩短连接建立的时间。连接数一般默认只有20~30个(你没有提供相应信息,不清楚你的设置是多少),你的400并发显然连接池可能不足。即便充足,查询时间也不会因此减少。对数据库查询优化最有效的手段通常是适当的缓存。

回答:

优化前后测试结果一样,说明并没有优化到瓶颈上,说明系统的瓶颈不是tomcat的配置
不知道没有这么大压力的情况下系统的响应时间怎么样,如果还是这么慢的话就先优化数据库的查询之类的吧

以上是 小白请教tomcat性能优化问题,优化前和优化后压力测试结果一样。 的全部内容, 来源链接: utcz.com/p/176849.html

回到顶部