压测过程中我们会发现各种各样的瓶颈,有时候数据单一也可能导致QPS上不去,这时我们需要准备批量测试数据来进行多样性压测。
当对一个接口加压后,发现QPS上不去,时间增长,如下图所示:
这时,我们应该想到是链路上出现瓶颈,需排查整个链路
首先对服务器资源进行查看,对链路上涉及到的库的资源进行查看,排查后发现数据库MongoDB负载使用情况为百分百
造成该问题的原因除了配置过低的原因外,还可能为大批量的update和put同一个certificate,触发数据库锁,导致数据库查询过慢,这时我们需要对压测脚本做多样性用户处理,有以下两种方式可以参考:
方式一:用户信息为一个范围区间,可以用计数器去做自增,线程组->添加->配置原件->计数器
方式二:使用CSV数据文件设置拿取大量用户信息,线程组->添加->配置原件->CSV数据文件设置
数据多样性添加完成后引用变量名即可
脚本准备完成后,再次上传脚本到coding平台,对用户信息进行数据多样性处理后的接口再次进行压测,发现QPS就能够上去了。
数据的单一性除了造成结果的不准确之外,还可能造成系统瓶颈,这时除了盲目的升级硬件资源外,还应该考虑从数据多样性入手,更真实的模拟用户场景,减少不必要的费用支出和更快捷的解决问题。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。