为什么你想强调你的Linux系统?因为有时候你可能想知道如何当它是下了很大的压力的系统的行为,由于大量的正在运行的进程,网络通信流量过大,过多的内存使用等等。这种测试可以帮助确保系统准备就绪,“上市”。
如果您需要预测应用程序可能花费回应什么,如果有的话,过程可能会失败,或在重负载下运行缓慢,在做压力测试前面可以是一个很好的主意。
幸运的是那些谁需要能够预测一个Linux系统将如何反应在压力下,还有你可以聘请一些有用的技术和工具,你可以用它来简化这个过程。在这篇文章中,我们研究了几个选项。
自己动手做循环
这第一个技术包括在命令行中运行一些循环,看它们是如何影响系统。该技术通过大大增加了负荷负担的处理器。结果可以很容易地使用可见运行时间或类似的命令。
在下面的命令,我们踢对开四个死循环。您可以通过添加数字或使用增加的回路数庆典类似的表达{} 1..6来代替 “1 2 3 4”。
对于i在1 2 3 4;而这样做:;这样做:;完成及完成
键入的命令行上,这个命令将开始在本底4个死循环。
在1 2 3 4 $对于i;而这样做:;这样做:;完成&完成[1] 205012 [2] 205013 [3] 205014 [4] 205015
在这种情况下,工作1-4拉开序幕。无论是就业数字和进程ID被显示。
观察上平均负载的效果,使用的命令如下所示的一个。在这种情况下,运行时间命令运行每30秒:
美元,而真实的;这样做的正常运行时间;睡眠30;DONE
如果您打算定期运行这样的测试,你可以把循环命令到脚本:
#!/斌/庆典,而真正的不正常运行时间睡眠30完成
在输出中,你可以看到平均负载如何增加,那么一旦循环已经结束重新开始下降。
11时25分34秒达5天,17点27分,2个用户,平均负载:0.15,0.14,0.08 11时26分04秒达5天,17点27分,2个用户,平均负载:0.09,0.12,0.08 11:26:34高达5天,17点28分,2个用户,平均负载:1.42,0.43,0.18 11时27分04秒达5天,17点28分,2个用户,平均负载:2.50,0.79,0.31 11时27:34向上5天,17点29分,2个用户,平均负载:3.09,1.10,0.43 11时28分04秒达5天,17点29分,2个用户,平均负载:3.45,1.38,0.54 11时28分34秒达5天,17点30分,2个用户,平均负载:3.67,1.63,0.66 11时29分04秒达5天,17点30分,2个用户,平均负载:3.80,1.86,0.76 11时29分34秒5天5,17点31分,2个用户,平均负载:3.88,2.06,0.87 11点30分04秒达5天,17点31分,2个用户,平均负载:3.93,2.25,0.97十一时30分34秒达5天,17:32,2个用户,平均负载:3.64,2.35,1.04 <==环11时31分04秒达5天,17点32分,2个用户,平均负载:2.20,2.13,1.01停止11点31分34秒5向上天,17:33,2个用户,平均负载:1.40,1.94,0.98
由于2所示的负载代表了1,5和15分钟的平均值,该值将需要一段时间才能回去什么是系统可能正常。
要停止循环,发出杀像下面这一个命令 - 假设就业数字是1-4的结果表明早期在这个岗位。如果你不确定,使用jobs命令来验证作业ID。
$杀%1%2%3%4
专门的工具,用于将压力
创建系统压力的另一个方法涉及使用专门建强调系统为您的工具。其中之一是所谓的“压力”,可以在许多方面强调系统。该强调工具是一个工作量产生器,其提供CPU,存储器和磁盘I / O压力测试。
随着- 中央处理器选项,强调命令使用平方根函数来迫使CPU来打拼。指定的CPU的数量越多,速度越快负荷将斜坡上升。
一秒看它脚本(观看-IT-2)可以被用于测量在系统的内存使用情况的影响。需要注意的是它使用自由命令来查看强调的效果。
$猫手表它-2#!/斌/庆典,而真正做免费的睡眠30完成
开球和观察应力:
$压力--cpu 2
$ ./watch-it 13时09分14秒了5天,19时10分,2个用户,平均负载:0.00,0.00,0.00 13时09分44秒5天5,19:11,2个用户,平均负载:0.68,0。16, 0.05 13:10:14 up 5 days, 19:11, 2 users, load average: 1.20, 0.34, 0.12 13:10:44 up 5 days, 19:12, 2 users, load average: 1.52, 0.50, 0.18 13:11:14 up 5 days, 19:12, 2 users, load average: 1.71, 0.64, 0.24 13:11:44 up 5 days, 19:13, 2 users, load average: 1.83, 0.77, 0.30
在命令行上指定的多个CPU,更快的负载将斜坡上升。
$应力--cpu 4 $ ./watch-it 13时47分49秒达5天,19点49分,2个用户,平均负载:0.00,0.00,0.00十三时48分19秒达5天,19点49分,2用户,平均负载:1.58,0.38,0.13 13点48分49秒达5天,十九时50,2个用户,平均负载:2.61,0.75,0.26十三点49分19秒达5天,十九时50,2个用户,加载平均:3.16,1.06,0.38 13时49分49秒达5天,19点51分,2个用户,平均负载:3.49,1.34,0.50十三点五十分19秒达5天,19点51分,2个用户,平均负载:3.69,1.60,0.61
该强调命令还可以通过添加与I / O和存储器负荷强调系统其--io(输入/输出)和--vm(存储器)的选项。
在接下来的例子中,该命令用于添加存储器应力运行,然后将观看-IT-2启动脚本:
$压力--vm 2
$手表它-2总用过的免费共享,BUFF /缓存提供纪念品:60870646621602519164 8868 2905740 5117548交换:209714802097148总用过的免费共享,BUFF /缓存提供纪念品:60870648034642377832 8864 2905768 4976248交换:209714802097148总用过的免费共享,BUFF /缓存提供纪念品:60870649685122212772 8864 2905780 4811200交换:209714802097148
对于另一种选择强调是使用--io选项,以输入/输出活动添加到系统中。在这种情况下,你可以使用如下命令:
$压力--io 4
然后,您可以观察到强调使用IOiotop。注意iotop需要root权限。
之前
$ sudo的iotop -o总磁盘读取:0.00 B / S |总磁盘写:19.36 K / s电流磁盘读取:0.00 B / S |当前磁盘写:27.10 K / S TID PRIO USER磁盘读取磁盘写换入IO> COMMAND 269308是/ 4根0.00 B / S 0.00 B / S 0.00%1.24%[kworker〜fficient] 283是/ 3根0.00 B / S19.36 K / S 0.00%0.26%[jbd2 / sda1-8]
后
总磁盘读取:0.00 B / S |总磁盘写:0.00 B / S当前磁盘读取:0.00 B / S |当前磁盘写:0.00 B / S TID PRIO USER磁盘读取磁盘写换入IO> COMMAND 270983是/ 4 SHS 0.00 B / S 0.00 B / S 0.00%51.45%应力--io 4 270984 BE / 4 SHS 0.00 B / S 0.00 B / S 0.00%51.36%应力--io 4 270985 BE / 4 SHS 0.00 B / S 0.00 B / S 0.00%50.95%应力--io 4 270982 BE / 4 SHS 0.00 B / S 0.00 B / S 0.00%50.80%应力--io 4 269308 BE / 4根0.00 B / S 0.00 B / S 0.00%0.09%[kworker〜fficient]
强调是将压力到系统的一些工具的只有一个。另外,更新的工具,应力NG,将在未来的岗位覆盖。
包起来
对各种工具的压力测试的系统将帮助您预测系统将如何在现实世界的局势作出反应中,他们受到增加的流量和计算需求。
虽然我们在后已经展示了一些方法来创建和测量不同类型的压力,最终受益的是应力如何帮助在您的系统或应用程序响应确定如何好它。