性能测试常见问题案例与原因
来源:互联网 发布:淘宝卖家能删除评价嘛 编辑:程序博客网 时间:2024/05/18 01:12
TPS下降问题分析
某产品为方便用户使用开发SDK接口,对HTTP API进行了包装。测试过程中,SDK接口与直接使用HTTP API访问的性能对比,发现在同样的压力测试场景下SDK的TPS下降很多。
使用工具Nprofile定位发现代码中调用连接池管理部分代码消耗时间比HTTP API长,进一步查看代码发现SDK使用HttpClient连接池时默认的最大连接数DEFAULT_MAX_CONNECTIONS = 50,将其设置为400时,SDK的TPS增大。
建议:TPS上不去,首先检查连接数、线程池等配置是否合理。
HTTP请求响应码为5XX问题的定位和分析
正常的HTTP请求响应码为2XX,表示成功响应,但是测试过程中经常会遇到响应码为5XX的情况。常见的5XX响应码有500和502错误:
* 500错误
原因:500错误表示服务器内部错误
案例:出现500错误时,服务端日志中同时会出现错误日志,曾经遇到的错误有:数据库处理能力成为瓶颈,连接数不够,出现get null from pool 异常,通过调整DDB 连接池的大小解决该问题。
定位方法:当遇到500错误时,首先查看服务端日志,通过错误日志信息进一步定位返回码错误的原因。
* 502错误
原因:502错误是网关错误,同时nginx error日志中会出现(104: Connection reset by peer) while reading response header from upstream
案例:曾经一次性能测试过程中,因为并发连接数超过了nginx配置的最大连接数,导致出现502错误,通过调整nginx的最大连接数解决该问题。
定位方法:
出现502以及Connection reset by peer错误的常见原因有:
1、并发连接数大于服务端最大连接数,服务端会将其中一些连接关闭掉;
2、客户关掉了浏览器,而服务端还在给客户端发送数据;
当测试过程中出现该错误时,可以从以上几个方面定位问题。
- 性能测试常见问题案例与原因
- JAVA性能测试与调优案例
- 性能测试常见问题解答
- 性能测试常见问题定位
- 性能测试常见问题定位
- 性能测试面试常见问题
- 性能测试指标+案例
- RabbitMQ性能测试案例
- 软件性能测试过程详解与案例剖析
- 《软件性能测试与LoadRunner实战》中案例的错误
- 【推荐书籍】软件性能测试过程详解与案例剖析
- 性能测试常见问题解决思路
- [性能测试]LR常见问题整理
- 《软件性能测试过程详解与案例剖析》--读书笔记之性能测试过程模型PTGM
- VPN常见问题原因与解决
- 性能测试常见问题 (性能论述)
- 某系统性能测试案例
- 一次sqlldr性能测试案例
- android报表控件,任意方向联动
- JSP内置对象:使用getparameter方法获得数据
- python for range用法
- 1000个常用的Python库和示例代码
- 小米手机的云服务使用手册--以照片备份和恢复为例
- 性能测试常见问题案例与原因
- java中由类名和方法名字符串实现其调用
- Android中webview监控页面卡死
- V4与v7的冲突,记录下来
- Linux下永久生效环境变量bashrc
- 获取所在地的省份和ip
- 欢迎使用CSDN-markdown编辑器
- 质量的三要素
- PAT乙级1025. 反转链表 (25)