2023年7月11日发(作者:)
Tomcat压⼒测试与优化⽅案⼀.Tomcat压⼒测试,通过调整参数以及配置优化Tomcat 1.部署⼀个web⼯程,测试访问(需安装mysql和jdk) 1.1.1 将SQL脚本执⾏,⽣成对应的数据库 将SQL脚本上传到服务器,通过 cat | mysql -uroot -p
1.1.2 部署项⽬ 将该项⽬上传到Linux系统中Tomcat解压⽬录下webapps⽂件夹 找到项⽬,修改ties配置⽂件,根据实际情况 vim ties
压⼒测试⼯具 解压完成后进⼊bin⽬录,双击启动,启动可以通过Opetions下有个Choose Lanauge选择简体中⽂也可修改为⽩⾊主题
2.1 新建⼀个线程组,线程数量为1000,循环次数为10
2.2 点击线程组新建⼀个HTTP协议取样器 采⽤http协议,地址为linux地址,端⼝为tomcat8080端⼝,访问地址为/index
2.3 添加请求监控
2.4 点击启动进⾏测试
在聚合报告中,重点看吞吐量。
优化⽅案 没有进⾏任何配置的情况下: 平均请求处理时间:61319 Error错误率:44.38% 吞吐量:12.8/S
3.1 优化⽅案⼀:禁⽤AJP服务 停⽌tomcat:切换到bin⽬录通过./ 找到tomacat解压⽬录的conf⽂件夹下,将当中的AJP服务注释
bin⽬录启动:./ && tail -f ../logs/ 测试结果如下:
平均请求处理时间:23900+- Error错误率:55%+- 吞吐量:20/S+-
3.2 优化⽅案⼆:启动执⾏器(线程池) 测试⼀:`最多线程为500 初始为50 最⼤队列等待个数100 将运⾏模式改为nio2 停⽌tomcat:切换到bin⽬录通过./ 找到tomacat解压⽬录的conf⽂件夹下,修改
bin⽬录启动:./ && tail -f ../logs/
平均请求处理时间:4200 Error错误率:9.30% 吞吐量:180/S
优化⽅案:JVM参数进⾏优化 4.1 启⽤并⾏垃圾收集器 修改配置⽂件 JAVA_OPTS="-XX:+UseParallelGC -XX:+UseParallelOldGC -Xms64m -Xmx512m-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps-XX:+PrintHeapAtGC -Xloggc:../logs/" 使⽤⽹站进⾏⽇志分析
得出结论:年轻代内存分配太⼩。整个堆内存分配太⼩JAVA_OPTS="-XX:+UseParallelGC -XX:+UseParallelOldGC -Xms128m
-Xmx1024m -XX:NewSize=64m -XX:MaxNewSize=256m -XX:+PrintGCDetails
-XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC
-Xloggc:../logs/" 4.2 启⽤G1垃圾收集器JAVA_OPTS="-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -Xms128m
-Xmx1024m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:../logs/"
G1效率最⾼
优化时,要不断的去测试适合当前环境的配置 tomcat性能优化就是需要不断的进⾏调整参数,然后测试结果,可能会调优也可能会调差 这时就需要借助于gc的可视化⼯具来看gc的情况。再帮我我们做出决策应该调整哪些参数
总结 优化点:配置
参数进⾏调优
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689027809a197238.html
评论列表(0条)