weixin_38722568 2018-02-26 18:28 采纳率: 0%
浏览 30421
已结题

jmeter做接口压测,如何从压测结果中确定最大并发数?

jmeter做接口压测,如何从压测结果中确定最大并发数?
在网上又看过,说是逐渐增加线程数,看聚合报告里吞吐量。
当吞吐量不再往上增加时,这个时候的并发数即是最大并发数,这样对吗?
求各位指点迷津!!!感激不尽!!!

  • 写回答

3条回答 默认 最新

  • xuyanhong028 2018-02-26 18:29
    关注

    首先明确下并发的概念。在性能测试中并发可以理解为同一时刻做不同的事,或同一时刻做同样的事。一般我们在性能测试的时候也是这么去模拟的。那这个同一时刻的并发是很难做到的。要知道我们用来发起压力的测试工具本身要能做到同一时刻发起压力,如果设置线程数过多,负载机本身资源不足会有排队,请求建立和服务端的连接过程会排队,请求数据发送到服务的时候在网络队列上也会排队,请求数据达到服务端,在服务端也会进行排队,所以严格意义上的并发多少用户数等等是比较难做到的。但是,并发我们可以分层去看,像一般的webserver或容器服务都有监控数据,如nginx的Active connections,tomcat的currentThreadsBusy,这些参数表明服务本身目前正在处理的最大并发线程数。到了代码层每个方法的实际并发数又是另一回事。根据请求的到达情况来看,每一层的并发数都会有不同。使用一台机器发起600个线程,和使用2台机器各发起300线程,从服务端的请求达到情况来看,确实会存在不一样的情况。2. 性能测试中不只关注并发数,尤其是单接口性能测试的时候,更多关注吞吐量、响应时间等指标来评估服务端性能。验证服务端最高每秒能正确处理的请求数,以及请求的响应延时情况。曾经看过并实施过RBI性能测试方法,快速瓶颈识别法。推荐资料:rapid_bottleneck_identifation_百度文库。RBI强调了80%的性能问题可以通过吞吐量测试来发现,其他20%的性能问题可以通过引入并发用户数等更复杂的场景来发现。推荐有空可以看看。3. 对压测中出现的异常或错误,可以尝试自己分析下。Response code: 500通常情况下是服务端出现问题,可以查看服务端的日志,看看是否有异常或错误信息,根据提示信息来定位分析,排查的时候可以根据服务端的业务架构一层层的排查下去,直至找到发生问题的服务。对自己没见过的或不太熟悉的错误信息建议google。 比如:Non HTTP response code: java.net.SocketException这种错误,google一把大致就有些可行的解决方案。[Jmeter-User] JMeter Non HTTP response code: java.net.SocketException。希望能帮到你。

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥20 ubutu双系统安装失败
  • ¥15 Cap75t开发板如何做到采集设备做固件具有绝对稳定性
  • ¥15 各位专家求此答案解析
  • ¥15 llama-factory训练日志epoch为什么是浮点数?
  • ¥500 我想做一个股票策略的回测AI工具(网页版)python语言、Pine Script
  • ¥15 生信空转NICHES分析中runNICHES函数报错
  • ¥30 地学数据三维可视化基于克里金插值的三维可视化
  • ¥15 stc8g1k08a-sop8控制led代码问题。
  • ¥50 让画布在弹出的新的浏览器页面上运行绘画
  • ¥15 mbed库rsa算法段错误