性能测试遇到的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试遇到的问题相关的知识,希望对你有一定的参考价值。
1、今天做一个单接口的压力测试,环境是阿里云服务器搭建的,压力机也部署在阿里云内网,通过域名请求。压测只用了100vu,TPS只能到220。然后开始排查瓶颈,首先是硬件,无论是压力机和服务器、数据库等资源都非常空闲,没有硬件方面的瓶颈。然后开始排查堆内存使用,线程状态、连接池等方面,也都是空闲状态。
服务器213~215,TIME_WAIT的连接数达到4800+
而压力机方面,有时候TIME_WAIT的数量是0,有时候会突然飙升到27051
压力机有少量报错
报错的内容是 Error -27492: "HttpSendRequest" failed, Windows error code=12002 and retry limit (0) exceeded for URL
如果是代码问题导致的堵塞,会体现在线程状态上
怀疑,这个域名走了外网
然后通过tracert 域名的方式,看到经过16个跃点,而且IP地址不是在一个局域网。
在脚本里取消域名访问的方式,改用IP+端口的方式去请求
2、现在所有检索都要从数据库查询压力很大的吧,一般都是能缓存就缓存,不然就查视图
3、502你们开发在发版啊
并发的时候502,要么是性能瓶颈了,要么就是云环境把你的请求屏蔽了
502网关错误,请求没到应用
4、我跑场景的时候error和fail有什么区别吗?
fail是没通过的事务,error是返回400以上的http消息或者lr自己的内部错误
如果你们的需求是800并发能抗住,你是900并发开始报错的,那就没问题啊。没达到需求,那就测试不通过啊,1个fail都不行
如果升级前报502需要并发600才开始,升级后需要并发800才开始报502,那就是升级有效果啊
以上是关于性能测试遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章