记一次性能测试中,因为自己设置问题,导致测试结果偏差
前言
这个性能测试真的感觉做了好久,一直都没有一个好的结果。
为什么要记录,因为想让自己以后不再犯类似错误!
要知道的几个知识点
你看完,肯定会感谢我的,建议收藏!
关于系统支持并发数计算:
1、使用系统用户数量*(5%~20%):
比如用户数为200人,平均取最大用户数为80用户左右,参考维基百科,可以自行查找
2、按照经典公式计算:
平均每天大约200人使用系统8小时,从登录到退出平均时间为4小时,那么
平均并发用户数为:C = 2004/8 = 100
并发用户数峰值为:C‘ = 100 + 3根号100 =130
参考自网络,感兴趣自己去查即可。
关于测试策略调整
- 连接及相应超时设置为3分钟
submit
与save
取样器之间间隔30秒- 取消设置
KeepAlive
测试过程
因为测试结果一直很不理想,导致整体进度很慢,多方尝试,现把尝试方案及测试过程记录如下,以便他人参考和自己学习记录,尝试方案如下:
1、客户端设置keep-alive,默认连接、响应超时,单服务
得出结论:
经常出现数据库死锁、service not started
,页面无法登陆
2、客户端设置keep-alive,默认连接、响应超时设置3分钟,单服务
经常出现数据库死锁、service not started
,页面无法登陆
3、客户端取消设置keep-alive,默认连接、响应超时设置3分钟,submit与save取样器间隔1分钟,3服务
0报错,吞吐量6.1/sec,成功率100%。
4、客户端取消设置keep-alive,默认连接、响应超时设置3分钟,submit与save取样器间隔1分钟,单服务
0报错,吞吐量5.5/sec,成功率100%。
整个过程很曲折,好在遇到比较有耐心和超强的技术解决问题,也让我在这次测试中学习很多。
总结:
关于Keep-Alive设置对结果影响:
- 设置Keep-Alive可以避免连接建立和释放的开销,但Tcp连接容易导致系统资源无效占用,浪费系统资源。
- 去掉 KeepAlive可以模拟多用户访问时每次请求是从不同源端新建请求连接,能更有效模拟真实测试压力,适用于真实用户直接访问的服务接口和页面压测。
- 在HTTP 1.1版本后,默认开启Keep-Alive模式,可以加入 Connection: close才关闭连接,当然也可以设置Keep-Alive模式的属性,例如 Keep-Alive: timeout=5, max=100,表示这个TCP通道可以保持5秒,max=100,表示这个长连接最多接收100次请求就断开。(来自网络参考)
优秀不够,你是否无可替代
软件测试交流QQ群:721256703,期待你的加入!!
欢迎关注我的微信公众号:软件测试君

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2021-12-10 解决antD中关于table组件中报这样的警告warning.js?2149:7 Warning: [antdv: Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key.]问题
2021-12-10 解决npm WARN Local package.json exists, but node_modules missing, did you mean to install?问题
2019-12-10 分词器的安装与使用