QPS = req/sec = 请求数/秒

【QPS计算PV和机器的方式】

QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 *   请求时间 )
QPS: 单个进程每秒请求服务器的成功次数

单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8

服务器计算
服务器数量 =   ceil( 每天总PV / 单台服务器每天总PV )

【峰值QPS和机器计算公式】

原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS   = 需要的机器

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3

关于并发用户数和QPS,自己一直被这两个概念纠结,阅读了一下相关资料,总结如下:并发用户数和QPS两个概念没有直接关系,但是如果要说QPS时,一定需要指明是多少并发用户数下的QPS,否则豪无意义,因为单用户数的40QPS和20并发用户数下的40QPS是两个不同的概念。前者说明该应用可以在一秒内串行执行40个请求,而后者说明在并发20个请求的情况下,一秒内该应用能处理40个请求,当QPS相同时,越大的并发用户数,代表了网站并发处理能力越好。对于当前的web服务器,其处理单个用户的请求肯定戳戳有余,这个时候会存在资源浪费的情况(一方面该服务器可能有多个cpu,但是只处理单个进程,另一方面,在处理一个进程中,有些阶段可能是IO阶段,这个时候会造成CPU等待,但是有没有其他请求进程可以被处理)。而当并发数设置的过大时,每秒钟都会有很多请求需要处理,会造成进程(线程)频繁切换,反正真正用于处理请求的时间变少,每秒能够处理的请求数反而变少,同时用户的请求等待时间也会变大,甚至超过用户的心理底线。所以在最小并发数和最大并发数之间,一定有一个最合适的并发数值,在并发数下,QPS能够达到最大。但是,这个并发并非是一个最佳的并发,因为当QPS到达最大时的并发,可能已经造成用户的等待时间变得超过了其最优值,所以对于一个系统,其最佳的并发数,一定需要结合QPS,用户的等待时间来综合确定。

图1 并发用户数,QPS,用户平均等待时间(响应时间关系图)

上面这张图是应用其他人的关于并发用户数,QPS,用户平均等待时间的一张关系图,对于实际的系统,也应该是对于不同的并发数,进行多次测试,获取到这些数值后,画出这样一张图出来,以便于分析出系统的最佳并发用户数。

最新文章

  1. 前端构建 build 技术 nodejs gulp
  2. 11. Android框架和工具之 Logger(调试代码)
  3. JavaScript基本概念(二)
  4. 在Windows中单机环境下创建RabbitMQ集群
  5. 如何让服务端同时支持WebSocket和SSL加密的WebSocket(即同时支持ws和wss)?
  6. ubuntu连接android设备(附最简单方法)
  7. redis在linux云服务器上完整的搭建步骤
  8. Android stdio 报错 error invoking main method
  9. python简说(六)判断
  10. ubantu 上hadoop 搭建
  11. Alpha阶段敏捷冲刺(八)
  12. J2EE用监听器实现同一用户只能有一个在线
  13. 开启turbine收集hystrix指标功能
  14. Myeclipse下配置struts2和hibernate
  15. Oracle sql中的正则表达式
  16. 编写高质量代码–改善python程序的建议(二)
  17. CentOS(Linux)安装KETTLE教程 并配置执行定时任务
  18. 几个很好的OJ网站
  19. php程序员应该掌握的技能包
  20. nyoj 325

热门文章

  1. 设计模式 - 代理模式(Proxy Pattern)
  2. boost::function和boost:bind取代虚函数
  3. Swift UITextField各种属性的设置
  4. Javascrpt 速成篇】 二:js面向对象
  5. softmax与logistic关系
  6. lua不支持的泛型方法
  7. 【剑指offer】Q14:调整数组顺序使奇数位于偶数前面
  8. 部署coredns
  9. HDFS(二)
  10. 解决openoffice进程异常退出的办法: