qps是压力测试还是并发测试,压力测试 qps
qps是什么
qps即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,即为QPS。
对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。一般需要达到139QPS,因为是峰值。
计算关系:
QPS=并发量/平均响应时间。
并发量=QPS*平均响应时间。
性能测试的分类以及性能测试的指标
狭义:单用户测试
广义:建立基准线,当系统软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。
1.概念:通过逐步增加系统负载,确定在满足性能指标的情况下,找出系统所能承受最大负载的测试。
作用:系统最大负载量达到用户要求时,系统才能正式上线。
注意:①通过负载测试,可以确定系统的最大负载量和极限负载量
? ? ? ? ? ? ? ②系统对外宣称的最大负载量
? ? ? ? ? ? ? ③负载测试的时间一般为1-2小时
1.概念:在服务器稳定运行(用户正常业务负载下)的情况进行长时间测试(1天-一周等),并最终保证服务器能满足线上业务需求。
2.系统在用户需求的业务负载下运行达到规定的时间时,系统才能正式上线使用。
1.概念:在强负载下的测试,查看系统在峰值下是否功能隐患、系统是否具有良好的容错能力和可恢复的能力。
2.测试场景:高负载下的长时间稳定性压力测试 (如:B-C区间内进行24/3*24小时长时间测试)极限负载下的破坏性压力测试(如:C-D区间内进行测试)
1.概念:在极短时间内,发送多个请求,来验证服务器对并发的处理能力。
2.应用场景:特定的活动场景:抢红包、秒杀、抢购等。
3.与负载测试对比:
负载测试:主要目的是测试高负载情况下,对系统资源的消耗,是否会耗尽的问题(双11活动)
并发测试:主要目的是测试极短时间内,并发请求时,系统资源争抢的问题(抢红包、秒杀)
1.指从客户端发起请求开始,到客户端接收到结果的总时间
2.包括:服务器处理时间 + 网络传输时间
某一时刻同时向服务器发送请求的用户数
1.概念:单位时间内处理客户端的请求数量,直接体现软件系统的承载能力。
2.吞吐量单位分类
QPS:每秒查询数,即控制度服务器每秒处理的指定请求数量。
TPS(Transaction Per Second)每秒事务数,即控制服务器每秒处理事务请求的数量。
如:支付请求事务=查询用户余额请求+校验支付安全请求+发送支付请求
每秒处理查询用户余额15请求,每秒处理校验支付安全15个请求,每秒处理发送支付15个请求
支付tsp为15
所有的页面元素(如:图片、链接、框架等)的请求总数 量
注意:点击数是请求数,不是页面上的一次点击
指系统在负载情况下,失败业务的概率
注意:
①.错误率是性能指标,是高负载下的失败业务的概率
②.随机bug是功能bug,先解决随机bug才能进行性能测试
1.概念:系统各种资源的使用情况,率=资源使用量/总资源可用量x100%
常见资源指标:
CPU使用率:不高于75%-85%
内存大小使用率:不高于80%
磁盘IO(速率):不高于90%
网路(速率):不高于80%
软件测试中,压力测试中的指标QPS代表什么,有什么意义
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。更多软件测试相关的问题,可以关注下 搜狗测试 微信公众号,我的图像就是~
php 高并发解决思路解决方案
php 高并发解决思路解决方案,如何应对网站大流量高并发情况。本文为大家总结了常用的处理方式,但不是细节,后续一系列细节教程给出。希望大家喜欢。
一 高并发的概念
在互联网时代,并发,高并发通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。
二 高并发架构相关概念
1、QPS (每秒查询率) : 每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指 HTTP 请求)
2、PV(Page View):综合浏览量,即页面浏览量或者点击量,一个访客在 24 小时内访问的页面数量
--注:同一个人浏览你的网站的同一页面,只记做一次 pv
3、吞吐量(fetches/sec) :单位时间内处理的请求数量 (通常由 QPS 和并发数决定)
4、响应时间:从请求发出到收到响应花费的时间
5、独立访客(UV):一定时间范围内,相同访客多次访问网站,只计算为 1 个独立访客
6、带宽:计算带宽需关注两个指标,峰值流量和页面的平均大小
7、日网站带宽: PV/统计时间(换算到秒) * 平均页面大小(kb)* 8
三 需要注意点:
1、QPS 不等于并发连接数(QPS 是每秒 HTTP 请求数量,并发连接数是系统同时处理的请求数量)
2、峰值每秒请求数(QPS)= (总 PV 数*80%)/ (六小时秒数*20%)【代表 80%的访问量都集中在 20%的时间内】
3、压力测试: 测试能承受的最大并发数 以及测试最大承受的 QPS 值
4、常用的性能测试工具【ab,wrk,httpload,Web Bench,Siege,Apache JMeter】
四 优化
1、当 QPS 小于 50 时
优化方案:为一般小型网站,不用考虑优化
2、当 QPS 达到 100 时,遇到数据查询瓶颈
优化方案: 数据库缓存层,数据库的负载均衡
3、当 QPS 达到 800 时, 遇到带宽瓶颈
优化方案:CDN 加速,负载均衡
4、当 QPS 达到 1000 时
优化方案: 做 html 静态缓存
5、当 QPS 达到 2000 时
优化方案: 做业务分离,分布式存储
五、高并发解决方案案例:
1、流量优化
防盗链处理(去除恶意请求)
2、前端优化
(1) 减少 HTTP 请求[将 css,js 等合并]
(2) 添加异步请求(先不将所有数据都展示给用户,用户触发某个事件,才会异步请求数据)
(3) 启用浏览器缓存和文件压缩
(4) CDN 加速
(5) 建立独立的图片服务器(减少 I/O)
3、服务端优化
(1) 页面静态化
(2) 并发处理
(3) 队列处理
4、数据库优化
(1) 数据库缓存
(2) 分库分表,分区
(3) 读写分离
(4) 负载均衡
5、web 服务器优化
(1) nginx 反向代理实现负载均衡
(2) lvs 实现负载均衡