zoukankan      html  css  js  c++  java
  • 转【性能测试】:给各位普及下并发数的概念 fy

    一、

    并发数:是指代同事访问服务器站点的连接数,

    实际工作中,经常发现很多人对并发数有误解。

    比如领导说我们系统有10w活跃用户,所以系统必须要支持10w并发;

    比如压测报告里写某个接口支持100并发,客户就会反问难道系统只支持100用户同时访问?性能是不是太差了!

    问出上面问题的人,大多数都存在一个理解上的误区,认为性能测试中的并发数=并发用户数,其实事情没有这么简单。

    二、

    简单来说,并发数分为两个概念:客户端并发和服务端并发。

    客户端并发,有10w人同一时间从10w个不同的客户端发送请求;那么是否可以理解为服务端的并发也是10w呢?

    很明显是不能的,原因如下几点

    1>客户端(APP或者浏览器)的请求需要处理之后,发送,和客户端设备的性能有直接的关系;

    2>网络延迟的问题,很明显了,带宽,距离,信号强弱,都是能直接影响传输速度的;

    3>用户操作习惯的问题,有的同学机智,有的同学手拙,

    就凭这几点点,10w的用户纵然在同一时间由客户端操作提交了服务请求,到达服务端的并发,很明显也是不足10w的;

    假设所有请求在100ms内全部到达,并且认为同一毫秒到达服务器的请求属于同一时刻,那么服务端同一时刻处理的并发请求,也就1000个左右。

    我们平时在做测试的时候,在压测工具上设置100并发,就是的的确确的服务端并发了,这个服务端的100并发实际相当远大于100的客户端并发;

    有人说,那100000和100,两个数量级上也差别挺大了呀

    这里就需要考虑到一个问题:服务请求处理速度(TPS)

    假设服务端支持100个并发连接,且每笔请求处理速度为10ms,

    那么一秒钟,能处理请求输=并发数*(1秒/请求处理速度)=100*(1/0.01)=10000笔请求

    理论上处理完10w笔请求的耗时是10秒钟,这就和大家平时参加抢购等活动的感受差不多了

    三、

    这也从另一个方面说明了一个问题,并发数是一个重要的指标,但是在性能测试中,不需要过分关注并发数的多少,

    而更应该关注处理的业务量(即TPS),只要系统的TPS足够高,处理业务的时间足够短,

    哪怕同一时刻来再多的并发请求(只要不超过软硬件限制),我服务器也能给你安排的明明白白的。

  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/fy--/p/10727943.html
Copyright © 2011-2022 走看看