性能测试中的最佳用户数、最大用户数、TPS、响应时间、吞吐量和吞吐率
一:最佳用户数、最大用户数
转:http://www.cnblogs.com/jackei/archive/2006/11/20/565527.html
二: 事务、TPS
1:事务:就是用户某一步或几步操作的集合。不过,我们要保证它有一个完整意义。比如用户对某一个页面的一次请求,用户对某系统的一次登录,淘宝用户对商品的一次确认支付过程。这些我们都可以看作一个事务。那么如何衡量服务器对事务的处理能力。又引出一个概念----TPS。
2:TPS :每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。
TPS反映了系统在同一时间内能处理业务的最大能力,tps越高,说明系统处理能力越强。系统的TPS随着时间的变化逐渐变大,这里的最高值并不一定代表系统的最大处理能力,TPS会受到负载的影响,也会随着负载的增加而逐渐增加,当系统进入繁忙期后,TPS会有所下降。而在几分钟以后开始出现少量的失败事务
3:点击率(Hit Per Second)
点击率可以看做是TPS的一种特定情况。点击率更能体现用户端对服务器的压力。TPS更能体现服务器对客户请求的处理能力。
每秒钟用户向web服务器提交的HTTP请求数。这个指标是web 应用特有的一个指标;web应用是“请求-响应”模式,用户发一个申请,服务器就要处理一次,所以点击是web应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。容易看出,点击率越大。对服务器的压力也越大,点击率只是一个性能参考指标,重要的是分析点击时产生的影响。
需要注意的是,这里的点击不是指鼠标的一次“单击”操作,因为一次“单击”操作中,客户端可能向服务器发现多个HTTP请求。
4: ART(事务平均响应时间)
"事务平均响应时间":客户端发送请求开始计时,到服务响应结果结束计时,算的平均时间。通过它可以分析测试场景运行期间应用系统的性能走向。根据该图,可以定位出现性能问题的转折点。
① 曲线图持续上升,表明系统的处理能力在下降,事务的响应时间变长;
② 曲线持续平稳,表明并发用户数达到一定数量,再多请求也可能接受不了,等待;
③当事务的响应时间在下降,表明并发用户的数量在慢慢减少,事务的请求数也在减少
分析:
如果系统没有出现下降,但响应时间越来越长,直到系统瘫痪,引起原因可能如下:
1)程序中用户数连接未做限制,导致请求数不断上升,响应时间不断变长;
2)内存泄露
三:网络问题
1:Throughput(吞吐量):表示指在一次性能测试过程中网络上传输的数据量的总和。
1.1:系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 一般取平均响应时间
1.2:可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。
1.3:一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。
提示,用吞吐量来衡量一个系统的输出能力是极其不准确的,用个最简单的例子说明,一个水龙头开一天一夜,流出10吨水;10个水龙头开1秒钟,流出0.1吨水。当然是一个水龙头的吞吐量大。你能说1个水龙头的出水能力是10个水龙头的强?所以,我们要加单位时间,看谁1秒钟的出水量大。这就是吞吐率。
2:吞吐率:单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量
四:CPU、内存问题
一般用nmon监控CPU、内存、NET、DISKBUSY
1. CPU利用率:
服务器消耗的处理器时间数量.如果服务器专用于sql server 可接受的最大上限是80% -85 %.也就是常见的CPU 使用率。
说明:正常负载下,服务器的CPU利用率应该在80%以下。超过90%,那么很可能存在处理器瓶颈。如果CPU使用率不断上升,内存使用率也不断上升,表明系统可能产生资源争用情况,引起原因,程序资源调配问题。