分析高并发常用的相关指标

一、响应时间:系统对请求作出的响应时间

      安装fiddler ,重新操作认为慢的功能,观察接口响应时间

二、并发用户数(同时承载正常使用系统功能的用户数量)

Nginx查看并发连接

Active connections    //当前 Nginx 正处理的活动连接数.

server accepts handledrequests  //总共处理了387142个连接,成功创建387142次握手,总共处理了4804888个请求.

Reading         //nginx 读取到客户端的 Header 信息数

Writing         //nginx 返回给客户端的 Header 信息数

Waiting         //开启 keep-alive 的情况下,这个值等于active-(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.

2、也可以通过命令查看

[root@localhost conf]#  netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}

结果说明:

1、SYN_RECV        //一个连接请求已经到达,等待确认

2、FIN_WAIT2       //另一边已同意释放

3、ITMED_WAIT          //等待所有分组死掉

4、CLOSING         //两边同时尝试关闭

5、TIME_WAIT       //另一边已初始化一个释放

6、LAST_ACK        //等待所有分组死掉

三、吞吐量(单位时间内处理请求的数量)

单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

QPS(TPS):每秒钟request/事务 数量

并发数:系统同时处理的request/事务数

响应时间: 一般取平均响应时间

(很多人经常会把并发数和TPS理解混淆)

理解了上面三个要素的意义之后,就能推算出它们之间的关系:

QPS(TPS)= 并发数/平均响应时间

系统吞吐量评估:

我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。

而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。

通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。

通常的技术方法:

        1. 找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)

2. 通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量。B2B中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的TPS和PV关系比例也不一样。



四、QPS(每秒响应请求数)

你可能感兴趣的:(分析高并发常用的相关指标)