TPS
每秒处理事务数 transiaction per second
QPS
每秒处理请求数 request per second
并发数
系统同时处理请求/事务数
并发数=QPS/平均相应时间
吞吐量
吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力,和QPS、并发数相关 。
两种描述角度:业务角度和网络角度。
1、从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量。以请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。
2、从网络角度看,吞吐量可以用:字节/秒来衡量。可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶。
开始,系统只有一个用户,CPU工作肯定是不饱合的。一方面该服务器可能有多个cpu,但是只处理单个进程,另一方面,在处理一个进程中,有些阶段可能是IO阶段,这个时候会造成CPU等待,但是有没有其他请 求进程可以被处理)。随着并发用户数的增加,CPU利用率上升,QPS相应也增加(公式为QPS=并发用户数/平均响应时间。)随着并发用户数的增加,平均响应时间也在增加,而且平均响应时间的增加是一个指数增加曲线。而当并发数增加到很大时,每秒钟都会有很多请求需要处理,会造成进程(线程)频繁切换,反正真正用于处理请求的时间变少,每秒能够处 理的请求数反而变少,同时用户的请求等待时间也会变大,甚至超过用户的心理底线。
例子 日PV
B2B的TPS和PV之间的关系不同的系统不同的应用场景比例变化比较大,粗略估计在1 : 8个小时左右的关系(09年对offerdetail的流量分析数据)。旺铺和offerdetail这两个比例相差很大,可能是因为爬虫暂的比例较高的原因导致。
在淘宝环境下,假设我们压力测试出的TPS为100,那么这个系统的日吞吐量=100113600=396万
这个是在简单(单一url)的情况下,有些页面,一个页面有多个request,系统的实际吞吐量还要小。
访问量
PV
page view 时间段内的页面访问量
每个html(已包含JSP、CSS等加载)页面的加载计数1次,包括刷新。
UV
user view 时间段内的访客访问量
一个电脑终端算一个访客
两个不同用户使用同一台电脑 前后登陆 只算一个(内部算法若其他则根据自身算法)
IV
IP 时间段内的IP访问量
一个时间段内,IP 多次访问只算一次
性能关注点:
1、 相应时间
2、 服务器资源使用情况是否合理
3、 应用服务器和数据库资源使用是否合理
4、 系统能否实现扩展
5、 系统最多支持多少用户访问、系统最大业务处理量是多少
6、 系统性能可能存在的瓶颈在哪里
7、 更换那些设备可以提高性能
8、 系统能否支持7×24小时的业务访问
1、 架构设计是否合理
2、 数据库设计是否合理
3、 代码是否存在性能方面的问题
4、 系统中是否有不合理的内存使用方式
5、 系统中是否存在不合理的线程同步方式
6、 系统中是否存在不合理的资源竞争