CPU的消耗
服务器内存使用
IO
网络宽带
代码的好坏
数据量的大小
其他
QPS(TPS):每秒处理的请求数
并发数:同时处理的请求数,和CPU数量相关,8核超线程技术,一般为16,个人理解。
响应时间:平均响应时间。
三者的关系:QPS(TPS)=(1/平均响应时间)*并发数
TPS即每秒处理事务数,是TransactionsPerSecond的缩写,也就是事务数/秒,包括:”用户请求服务器”、”服务器自己的内部处理”、”服务器返回给用户”,这三个程,每秒能够完成N个这三个过程,TPS也就是3;
QPS基本类似于TPS,是QueriesPerSecond的缩写,意思是每秒查询率,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入QPS之中。
如果一次性可以处理100个请求,也就是并发数是100,每个请求耗时100毫秒,则qps=1000
如果一次性可以处理50个请求,,也就是并发数是50,每个请求耗时200毫秒,则qps=250
上限自己算。
PV是pageview的简写。PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv。
假如一天中有80%的请求发生在一天的40%的时间内。24小时的40%是9.6小时,有80%的请求发生一天的9.6个小时当中(很适合互联网的应用,白天请求多,晚上请求少)。
这个没有考虑瞬时高峰。
简单计算的结果:
((80%*500万)/(24小时*60分*60秒*40%))/1=115.7个请求/秒
((80%*100万)/(24小时*60分*60秒*40%))/1=23.1个请求/秒
初步结论:
现在我们在做压力测试时,就有了标准,如果你的服务器一秒能处理115.7个请求,就可以承受500万PV/每天。如果你的服务器一秒能处理23.1个请求,就可以承受100万PV/每天。
根据单机的PV量,综合考虑负载集群,横向扩展提高系统的整体PV量。
根据单机的TPS量,综合考虑负载集群,横向扩展提高系统的整体TPS量。
提高CPU并发计算能力多线程
减少进程切换
减少使用不必要的锁
考虑进程优先级
考虑系统负载
考虑CPU使用率
考虑减少内存分配和释放考虑使用持久连接(连接池)改进I/O模型DMA技术
异步I/O
I/O多路复用
一个线程处理多个连接,异步IO
改进硬件环境优化代码很多时候,是因为这方面。
数据分割缓存和冗余500万PV/每天
系统吞吐量(TPS)、用户并发量、性能测试概念和公式:
单机Qps上限是多少?
提高服务器并发处理能力





