文章目录
- 准备工作
- JMeter准备工作
- 本地配置代理
- 测试规划
- 测试方向
- 预期方向
- 异常处理
- 压力测试录制
- 注册功能压力
- 注册功能压力脚本录制
- 录制功能压力测试脚本完善
- 注册功能压力测试结果
- 登录功能压力
- 录制登录功能压力测试脚本
- 构造压力测试数据
- 完善登录功能性能测试脚本
- 登录功能压力测试结果
- 发布动态压力测试
- 发布动态脚本录制
- 完善登录功能性能测试脚本
- 完善发布动态功能脚本
- 发布动态功能压力测试结果
- 总结
👑作者主页:Java冰激凌
准备工作
JMeter准备工作
服务器配置(Linux CentOS 7 CPU - 2核 内存 - 2GB)
新建测试计划 -> 用于管理测试脚本
添加线程组 -> 用于并发压力测试
添加HTTP代理服务器 -> 用于监听指定端口
添加结果树 -> 用于查看结果
添加聚合报告 -> 生成性能测试报告(平均值、90%/95%/99%百分比、异常、吞吐率)
本地配置代理
配置本机代理
测试规划
测试方向
- 注册功能压力测试
- 登录功能压力测试
- 发布动态压力测试
预期方向
- 注册功能目标一分钟处理500个事务 TPS = 500 / 60 = 8.3
- 登录功能目标一分钟处理500个事务 TPS = 500 / 60 = 8.3
- 发布动态目标一分钟处理500个事务 TPS = 500 / 60 = 8.3
异常处理
上述压力测试方向如出现异常、不满足需即使提交后端修复或进行优化
压力测试录制
注册功能压力
注册功能压力脚本录制
录制功能压力测试脚本完善
为了保证注册的用户不唯一 增加随机性,在满足账号密码要求的前提下生成随机的字符串
注册功能压力测试结果
可以满足预期结果 TPS 最低值为 14.1 符合预期目标
注册功能压力测试通过!
登录功能压力
录制登录功能压力测试脚本
构造压力测试数据
本次数据由于数据库中的是密码是加盐MD5进行加密 所以采取构造新数据测试
完善登录功能性能测试脚本
账号密码使用CSV进行构造 验证码使用特殊处理解决
登录功能压力测试结果
未满足预期结果 TPS 最低值为 2.4 不符合预期目标
登录功能压力测试不通过!
发布动态压力测试
发布动态脚本录制
完善登录功能性能测试脚本
账号密码使用CSV进行构造 验证码使用特殊处理解决
完善发布动态功能脚本
添加计时器的原因是要等待发布成功猜可以进行删除 所以需要进行一定时间的等待
发布动态功能压力测试结果
未满足预期结果 TPS 最低值为 2.3 不符合预期目标
发布朋友圈功能压力测试不通过!
总结
本次性能测试主要针对系统进行了全面的测试,包括负载测试、压力测试、稳定性测试等。通过对系统的测试,得出以下结论:
- 系统在正常负载下表现良好,响应时间稳定在可接受范围内。在负载逐渐增加的情况下,系统的响应时间也能够得到控制,没有出现明显的性能瓶颈。
- 系统在高负载情况下表现较为稳定,能够处理大量的并发请求。在压力测试中,系统能够持续处理每秒数百个请求,并且响应时间仍然保持在可接受范围内。
- 系统在长时间运行下表现稳定,没有出现明显的性能下降或崩溃的情况。稳定性测试中,系统连续运行了数小时,期间没有出现任何异常情况。
- 系统在处理大量数据时表现较差,不能够快速响应用户的请求。
综上所述,系统在性能方面表现中等,基本能够满足用户的需求。然而,为了进一步提升系统的性能,我们建议进行以下优化:
- 对系统进行进一步的压力测试,以确定系统在更高负载下的表现。通过模拟更多的并发请求,可以更好地评估系统的性能瓶颈,并进行相应的优化。
- 对系统的数据库进行优化,以提高数据的读写效率。可以通过建立索引、优化查询语句等方式来提升数据库的性能。
- 对系统的代码进行优化,以提高系统的响应速度。可以通过减少不必要的计算、优化算法等方式来提升系统的执行效率。
- 对系统的硬件进行升级,以提高系统的处理能力。可以通过增加服务器的CPU、内存等资源来提升系统的性能。
通过以上的优化措施,相信系统的性能将会得到进一步提升,能够更好地满足用户的需求。