手游下载网

手游下载网

面试官常问你项目的PV量或TPS,怎么说,给你一个概念

admin 126 157

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上限是多少?

提高服务器并发处理能力