网站首页 > 技术文章 正文
我们在做联机交易业务流程系统进行压力测试版本上线前压力测试时,一般先录制维护好脚本,设置好压测脚本场景,然后在进行压测。我们会对不同的业务流和各类涉及需要测试的功能交易进行压力测试,为了确保每个交易测试性能数据的准确性,不受前一次交易压测导致JVM内存使用问题导致影响本次交易测试,我们要求对不同交易每次压测做好内存回收到基线上,性能测试过程中有时为了确保每次压测性能指标不受上次躁数干扰,我们会进行重启或者通过weblogic触发GC强制回收方式在进行压测,例如如下某系统压力实施工作流程:
一、启动应用管理服务器
- ps –ef|grep java----查看系统运行的当前java实例进程
- kill -9 PID
- sh start_app.sh -----进行实例重启
二、启动工作流管理服务器
- ps –ef|grep java -----查看系统运行的工作流java进程
- kill -9 PID
- sh start_wls.sh ----进行实例重启
三、开始压测
如 该博客内容方式实施测试脚本与压测场景实施:https://mp.toutiao.com/profile_v3/graphic/articles
四、监控
- 链接数据库服务器,使用top命令数据库服务器使用资源如下:
观察15分钟左右,截图。如果CPU不高于70%,则数据库服务器资源使用情况正常。如果数据库服务器的CPU高于70%,则抓取语法,查看SQL是否存在性能问题,比如全表扫描等。
2、 链接应用服务器,使用top命令应用服务器使用资源如下:
?
观察15分钟左右,截图。如果CPU不高于70%,则数据库服务器资源使用情况正常。
如果应用服务器的CPU高于70%,则抓取耗时较长的JSP等。SWAP 在压之前先查看占比,压的过程中需要查看是否有发生变化。查看disk 是否超过15%。
三. 打开监控工具查看GC使用情况,检查是否出现内存溢出。如图:
?
四、编写测试报告
测试报告编写首先说明是什么交易,测试的场景,测试时间。测试报告分为以下四种情况:
- 测试结果不存在问题:则测试结果为响应时间,数据库服务器资源使用情况,应用服务器资源使用情况,GC使用情况,并附上对应截图信息。
- 测试结果存在问题(应用程序):则测试结果为响应时间,数据库服务器资源使用情况,应用服务器资源使用情况,GC使用情况,例如抓取耗时较长的JSP等。
- 测试结果存在问题(数据库):则测试结果为响应时间,数据库服务器资源使用情况,应用服务器资源使用情况,抓取语法,并附上对应截图信息。
- 测试结果存在问题(数据库和应用程序):则测试结果为响应时间,数据库服务器资源使用情况,应用服务器资源使用情况,抓取语法,抓取耗时较长的JSP等,并附上对应截图信息。
猜你喜欢
- 2024-10-19 Java高频面试题之Linux(java面试 linux)
- 2024-10-19 性能测试能力提升-JVM GC监控和优化
- 2024-10-19 排查GC问题常用的工具(排查问题的方式有哪些)
- 2024-10-19 开发好物推荐8之自动化部署插件,再也不用登录SSH
- 2024-10-19 20道阿里巴巴中高级java面试题详解,把这些弄懂offer拿到你手软
- 2024-10-19 Java Web实战篇:发布和运维必备的12条Linux命令
- 2024-10-19 Java工程师常用Linux命令大全(linux javac)
- 2024-10-19 玩转linux下启动jar和关闭jar方式(java程序员必看)
- 2024-10-19 超详细的EFK安装部署教程--环境准备篇
- 2024-10-19 为什么阿里架构师是这样定位Java性能问题的?这几点总结的很详细
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)