您当前的位置:首页 >资讯信息

如何测试一台服务器的性能?-VPS-肥雀信息技术

问题:如何测试一台服务器的性能?

问题描述:
以下的提问是针对某一特定的事务:

我看到某些资料上说TPS是性能测试中一个非常重要的指标,但是TPS会随着并发用户数、总样本数(总的请求次数)的改变而改变,比如:

1. 在样本数(比如10000次)固定的情况下,并发数从1依次往上增加,并发数在10的时候TPS达到最大值,再往上增加,TPS则会出现下降,但是成功率是100%,那么是不是说明服务器能够承受的最大并发数是10?

2. 上面的情况中,继续增加并发数,比如20,TPS会继续增加,但是到接近10000次的时候,有1%左右的请求会超时,导致整体的TPS下降,这样的情况又说明了什么?

3. 从上面的两个例子可以看出,样本总数很关键,样本数少的情况下,可以得出非常高的TPS,但是样本数一旦增加到非常大,就会出现请求超时,那这样的测试还有意义吗?比如9000次,TPS为700/sec,但是10000次,TPS就为300/sec,那系统的TPS性能指标是700还是300还是毫无意义?

4. 除了TPS,响应时间应该也是一个非常重要的指标,那么是不是为了得出一个有效的TPS值,是不是需要指定几个前提条件,比如:

– 样本总数足够大或者随便多大

– 90%(或其他值)的响应时间在某一范围内

– 100%(或其他值)的成功率

综上所述,测试一台服务器性能的正确姿势是什么?怎么样的指标可以描述一台服务器的性能,经常看到某某开源框架说自己有几十万的吞吐率,能承受多少的并发数,这样的结论除了硬件配置外,还有其他的前提条件吗?

张挺 回答:
TPS描述的是单位时间内处理的请求数。

那么问题是这处理的是什么请求。有很简单的请求,也有很复杂的请求。有的请求数据量小,有的数据量大。不同的请求花费的服务器资源不一样。因此TPS必须和具体业务场景绑在一起来讨论。

举个例子:支持一万人同时打开网站上一个静态网页和支持一万人同时下订单买东西。因为前者响应时间通常会比后者快,所以TPS多半是前者高。但后者性能很明显会高于前者,因为其业务场景复杂多了。

至于开源框架,他们测试时对不同框架使用同样场景和同样硬件,那么TPS就可以对比啦,反映了软件框架的性能。

[2019-08-22 16:34:52]