如何做好一次服务接口压测?

背景:

调用其他人的提供的HTPP服务接口,线上经常出现:java.net.SocketTimeoutException: connect timed out,超时时间为50ms

1.压测准备

单独机器部署

1.5核、4G内存

2.压测dubbo 服务接口准备

3.概念

并发数:同一时刻同时连接服务的客户端数目。每个客户端都会在上一个请求返回后发起一个新的请求(如设置了步调时间,可能会等待并对齐)。

QPS:每秒内成功返回的请求数。根据返回状态不同,类似的还有每秒失败数、每秒超时数。

两者关系:假设采用普通模式(不设置步调时间),且服务平均响应时间为10ms,那么每一个并发在1秒内能返回100个请求,即产生100 QPS。如开100个并发,就能产生10000 QPS。

能压测的最大QPS多少?

取决于后端服务的响应时间,假设响应时间为1毫秒,开2000并发,则可以压到200万QPS。

4.压测结果

压测情况1:200 并发,压测时长10分钟,监控如下图

 压测情况2:

 


版权声明:本文为weixin_43291055原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。