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、客户关掉了浏览器,而服务端还在给客户端发送数据;

当测试过程中出现该错误时,可以从以上几个方面定位问题。

 

本文章为作者原创

?禁止?

其他公众账号转载,若有转载,请标明出处

转载于:https://www.cnblogs.com/andashu/p/6441113.html

个人总结:性能测试常见问题案例与原因相关推荐

  1. 鼎信系列语音网关常见问题案例分析

    鼎信系列语音网关常见问题案例分析 问题概览 来电号码不显示 呼入不进来(无线网关) 单通,UD两侧声音都有,用户侧听不到坐席测 通话中断 注册失败 单通,UD收不到用户侧声音(无线网关) 呼入提示请拨 ...

  2. 安全、性能测试常见问题与注意事项

    最近一项目验收,接待2波测试:政务云环境运营公司.甲方雇佣的第三方测试单位. 主要包含安全和性能测试两类,安全方面常见问题如下: SQL注入(特别常见,至少是参数化SQL,别是SQL拼接:其次是关键字 ...

  3. 云计算 常见问题案例汇总情况

    序号 所属部件 中文案例编号 案例名称 1 FusionCompute KB1000042600 如何处理Windows系统VBScript脚本引擎无法找到导致PV Driver安装失败 2 Fusi ...

  4. 以太网交换机性能测试丢包的原因

    在以太网交换机性能测试过程中,经常会遇到非设备性能因素导致的丢包,对测试产生困扰.这里简单罗列几种: 1.测试套上报FCS错误. 一般是因为某根网线.光纤或某个模块故障.解决方法为更换网线.光纤或模块 ...

  5. 性能测试常见问题分析

    一.内存溢出 1.堆内存溢出 现象: (1)压测执行一段时间后,系统处理能力下降.这时用JConsole.JVisualVM等工具连上服务器查看GC情况,每次GC回收都不彻底并且可用堆内存越来越少. ...

  6. Linux运维后台进程管理之Supervisor配置和常用命令常见问题案例和管理odoo后台进程

    目录 Supervisor是什么? 安装 配置 实例配置 启动 Supervisor常用命令 常见错误 配置文件出错,没有开放http接口或相关配置有问题 Supervisor未启动,无法运行supe ...

  7. 性能测试常见问题及瓶颈判断分析

    1.录制登录脚本后回放,结果失败 登录中为了安全,一般会对密码进行加密,查看录制的脚本中密码是否加密,如果是加密信息,有两种解决:一个是让开发修改应用,使用明码:一个是开发修改应用不做密码验证,脚本输 ...

  8. 33个常见问题!超全Windows排查手册

    无论你是新手还是老手,你的Windows系统都会遇到不容易诊断的问题.而当发生这种情况时,你会怎么做?希望本书可以在系统出现问题但是又不知道到底发生了什么以及问题出现在哪里时,为大家提供解决思路和方法 ...

  9. 【Linux网络编程笔记】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—实践篇

    1. 查看系统网络配置和当前TCP状态         在定位并处理应用程序出现的网络问题时,了解系统默认网络配置是非常必要的.以x86_64平台Linux kernelversion 2.6.9的机 ...

最新文章

  1. C++如何实现DNS域名解析转
  2. mysql生成uui mybatis_mybatis----基础
  3. unity底层运行机制_Unity跨平台的机制原理
  4. java顺序存储_顺序存储-数据结构-java实现
  5. 过滤器为JSP文件生成静态页面
  6. LINUX设置终端窗口显示内容的滚动缓冲行数
  7. tomcat8.0安装及配置教程
  8. pcs7服务器一直显示在同步,【征文】PCS7 诡异的时间同步问题
  9. 计算机审计取证方法,审计技术方法有几种
  10. 如何连接局域网_Minecraft我的世界局域网联机问题(windows平台)
  11. 小米笔记本U盘win10换win7系统操作教程
  12. HyperV Windows系统端口转发给主机 2021-12-13
  13. PV UV IP的意义
  14. ES6中新的AJAX解决方案:Promise、Fetch、Response、Axios
  15. 8招教你将内容营销与SEO完美合一
  16. CentOS中使用VeraCrypt(四):进阶操作
  17. 电脑ip地址错误,网络无法连接怎么一键解决?
  18. (附源码)springboot车辆管理系统 毕业设计031034
  19. android-检测耳机的插入和拔出动作
  20. Linux图形图像处理软件

热门文章

  1. roscore尚未安装 问题解决方案
  2. 【图像处理】数字图像处理之颜色
  3. 【Linux】一步一步学Linux——su命令(103)
  4. 【物联网】 AR9344开发环境的搭建和编译固件
  5. 黑龙江计算机单招学校,黑龙江有名气的中专单招
  6. android 约束布局的坑,android - 使用android约束布局2.0.0 Flow将项目放置一行 - 堆栈内存溢出...
  7. 学习opencv 英文版_电子课本:苏教牛津译林 | 高中英语模块2,赶紧收藏学习吧...
  8. 每天一道LeetCode-----计算小于n的素数个数
  9. oracle 意外事件,Oracle数据库REDO损坏ora-00333修复手札
  10. 远程协助TeamView软件 轻松控制计算机