香港高防服务器运行基准测试并分析结果

作者:港云互联 时间:2019-09-28

        一旦准备就绪,就可以着手基准测试,收集和分析数据了。通常来说,自动化基准测试是个好主意。这样做可以获得更精确的测试结果。因为自动化的过程可以防止测试人员偶尔遗漏某些步骤,或者误操作。另外也有助于归档整个测试过程。


        自动化的方式有很多,可以是一个Makenle文件或者组脚本。 脚本语言可以根据需要选择:hll. PHIP Perl等都可以。要尽可能地使所有测试过程都自动化,包括装载数据,香港高防服务器系统预热、执行测试、记录结果等。

香港高防服务器

        一旦设置了正确的自动化操作,基准测试将成为一步式操作。如果只是针对某些应用做一次性的快速验证测试,可能就没必要做自动化。但只要未来可能会引用到测试结果,建议都尽量地自动化。否则到时候可能就搞不清楚是如何获得这个结果的,也不记得采用了什么参数,这样就很难再通过测试重现结果了。


        基准测试通常需要运行多次。具体需要运行多少次要看对结果的记分方式,以及测试的重要程度。要提高测试的准确度,就需要多运行几次。一般在测试的实践中,可以取最好的结果值,或者所有结果的平均值,抑或从五个测试结果里取最好三个值的平均值。可以根据需要更进-步精确化测试结 果。还可以对结 果使用统计方法,确定置信区间(confidence interval)等。不过通常来说,不会用到这种程度的确定性结果。只要测试的结果能满足目前的需求,简单地运行几轮测试,看看结果的变化就可以了。如果结果变化很大,可以再多运行几次,或者运行更长的时间,这样都可以获得更确定的结果。


        获得测试结果后,还需要对结果进行分析,也就是说,要把“数字”变成“知识"。最终的目的是回答在设计测试时的问题。理想情况下,可以获得诸如“升级到4核CPU可以在保持响应时间不变的情况下获得超过50%的吞吐量增长”或者“增加索引可以使查询更快”的结论。如果需要更加科学化,建议在测试前读读null hypothesis一书,但大部分情况下不会要求做这么严格的基准测试。


        如何从数据中抽象出有意义的结果,依赖于如何收集数据。通常需要写些脚本来分析数据,这不仅能减轻分析的工作量,而且和自动化基准测试样可以重复运行, 并易于文档化。下面是一个非常简单的shell脚本,演示了如何从前面的数据采集脚本采集到的数据中抽取时间维度信息。脚本的输人参数是采集到的数据文件的名字。



#!/bin/sh


# This scrit coverts SHON GLOBAL STATUS into a tabulated format, one 1ine

# per Sample in the input, with the metrics divided by the time elapsed”

# between samples.

awk'

BEGIN

printf "#ts date time load QPS";

fmt =”%.2f";

/^TS/ { # The timestamp lines begin with TS.

ts

substr($2, 1, index($2, ".") - 1);

load

NF-2;

= ts- prev _ts;

prev ts = ts;

printf "n%s %s %s %s", ts, $3, $4, substr($load, 1, length(sload)-1);

/Queries/ {

printf fmt, ($2-Queries)/diff;

Queries=$2

假设该脚本名为analyze,当前面的脚本生成状态文件以后,就可以运行该脚本,可能会得到如下的结果:

[baron@ginger ~]$ ./analyze 5-sec- status-2011-03-20

#ts date time load QPS

1300642150 2011-03-20 17:29:10 0.00 0.62

1300642155 2011-03-20 17:29:15 0.00 1311.60

1300642160 2011-03-20 17:29:20 0.00 1770.60

1300642165 2011-03-20 17:29:25 0.O0 1756.60

1300642170 2011-03-20 17:29:30 0.00 1752.40

1300642175 2011-03 -2017:29:35 0.00 1735 . 00

1300642180 2011-03-20 17:29:40 0.00 1713.00

1300642185 2011-03-20 17:29:45 0.00 1788.00

1300642190 2011-03-20 17:29:50 0.00 1596.40


        第一行是列的名字;第二行的数据应该忽略,因为这是测试实际启动前的数据。接下来的行包含Unix时间戳、日期、时间(注意时间数据是每5秒更新一次,前面脚本说明时曾提过)、香港高防服务器租用系统负载、数据库的QPS (每秒查询次数)五列,这应该是用于分析系统性能的最少数据需求了。接下来将演示如何根据这些数据快速地绘成图形,并分析基准测试过程中发生了什么。




新人注册,即送价值满880元现金劵

立即注册>>
客服 电话 反馈 活动 回顶部

服务热线

+852-5764-9835

1对1贴心服务,7X24小时热线