日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何對(duì)你的Linux系統(tǒng)進(jìn)行壓力測試

如果你想了解 linux 服務(wù)器在重壓之下的運(yùn)行情況,那么給 Linux 服務(wù)器施加壓力是個(gè)不錯(cuò)的主意。在這篇文章中,我們將看一些工具,可以幫助你增加服務(wù)器壓力并衡量結(jié)果。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比涿鹿網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式涿鹿網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋涿鹿地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

為什么你會(huì)想給你的 Linux 系統(tǒng)施加壓力呢?因?yàn)橛袝r(shí)你可能想知道當(dāng)一個(gè)系統(tǒng)由于大量運(yùn)行的進(jìn)程、繁重的網(wǎng)絡(luò)流量、過多的內(nèi)存使用等原因而承受很大的壓力時(shí),它的表現(xiàn)如何。這種壓力測試可以幫助確保系統(tǒng)已經(jīng)做好了 “上市” 的準(zhǔn)備。

如果你需要預(yù)測應(yīng)用程序可能需要多長時(shí)間才能做出反應(yīng),以及哪些(如果有的話)進(jìn)程可能會(huì)在重負(fù)載下失敗或運(yùn)行緩慢,那么在前期進(jìn)行壓力測試是一個(gè)非常好的主意。

幸運(yùn)的是,對(duì)于那些需要能夠預(yù)測 Linux 系統(tǒng)在壓力下的反應(yīng)的人來說,你可以采用一些有用的技術(shù)和工具來使這個(gè)過程更容易。在這篇文章中,我們將研究其中的一些。

自己動(dòng)手做個(gè)循環(huán)

第一種技術(shù)是在命令行上運(yùn)行一些循環(huán),觀察它們對(duì)系統(tǒng)的影響。這種方式可以大大增加 CPU 的負(fù)荷。使用 uptime 或類似的命令可以很容易地看到結(jié)果。

在下面的命令中,我們啟動(dòng)了四個(gè)無盡循環(huán)。你可以通過添加數(shù)字或使用 bash 表達(dá)式,如 {1...6} 來代替 1 2 3 4 以增加循環(huán)次數(shù):

for i in 1 2 3 4; do while : ; do : ; done & done

在命令行上輸入后,將在后臺(tái)啟動(dòng)四個(gè)無盡循環(huán):

$ for i in 1 2 3 4; do while : ; do : ; done & done
[1] 205012
[2] 205013
[3] 205014
[4] 205015

在這種情況下,發(fā)起了作業(yè) 1-4,作業(yè)號(hào)和進(jìn)程號(hào)會(huì)相應(yīng)顯示出來。

要觀察對(duì)平均負(fù)載的影響,請(qǐng)使用如下所示的命令。在本例中,uptime 命令每 30 秒運(yùn)行一次:

$ while true; do uptime; sleep 30; done

如果你打算定期運(yùn)行這樣的測試,你可以將循環(huán)命令放入腳本 watch-it 中。

#!/bin/bash

while true
do
  uptime
  sleep 30
done

在輸出中,你可以看到平均負(fù)載是如何增加的,然后在循環(huán)結(jié)束后又開始下降。

 11:25:34 up 5 days, 17:27,  2 users,  load average: 0.15, 0.14, 0.08
 11:26:04 up 5 days, 17:27,  2 users,  load average: 0.09, 0.12, 0.08
 11:26:34 up 5 days, 17:28,  2 users,  load average: 1.42, 0.43, 0.18
 11:27:04 up 5 days, 17:28,  2 users,  load average: 2.50, 0.79, 0.31
 11:27:34 up 5 days, 17:29,  2 users,  load average: 3.09, 1.10, 0.43
 11:28:04 up 5 days, 17:29,  2 users,  load average: 3.45, 1.38, 0.54
 11:28:34 up 5 days, 17:30,  2 users,  load average: 3.67, 1.63, 0.66
 11:29:04 up 5 days, 17:30,  2 users,  load average: 3.80, 1.86, 0.76
 11:29:34 up 5 days, 17:31,  2 users,  load average: 3.88, 2.06, 0.87
 11:30:04 up 5 days, 17:31,  2 users,  load average: 3.93, 2.25, 0.97
 11:30:34 up 5 days, 17:32,  2 users,  load average: 3.64, 2.35, 1.04 <== 循環(huán)停止
 11:31:04 up 5 days, 17:32,  2 users,  load average: 2.20, 2.13, 1.01      11:31:34 up 5 days, 17:33,  2 users,  load average: 1.40, 1.94, 0.98

因?yàn)樗@示的負(fù)載分別代表了 1、5 和 15 分鐘的平均值,所以這些值需要一段時(shí)間才能恢復(fù)到系統(tǒng)接近正常的狀態(tài)。

要停止循環(huán),請(qǐng)發(fā)出像下面這樣的 kill 命令 —— 假設(shè)作業(yè)號(hào)是 1-4,就像本篇文章前面顯示的那樣。如果你不確定,可以使用 jobs 命令來確認(rèn)作業(yè)號(hào)。

$ kill %1 %2 %3 %4

增加壓力的專用工具

另一種方法是使用專門為你制造系統(tǒng)壓力的工具。其中一種叫做 stress(壓力),可以以多種方式對(duì)系統(tǒng)進(jìn)行壓力測試。stress 工具是一個(gè)工作負(fù)載生成器,提供 CPU、內(nèi)存和磁盤 I/O 壓力測試。

在使用 --cpu 選項(xiàng)時(shí),stress 命令使用平方根函數(shù)強(qiáng)制 CPU 努力工作。指定的 CPU 數(shù)量越多,負(fù)載上升的速度就越快。

下面第二個(gè)腳本(watch-it-2)可以用來衡量對(duì)系統(tǒng)內(nèi)存使用的影響。請(qǐng)注意,它使用 free 命令來查看加壓的效果。

$ cat watch-it-2
#!/bin/bash

while true
do
  free
  sleep 30
done

發(fā)起任務(wù)并觀察壓力:

$ stress --cpu 2

$ ./watch-it
 13:09:14 up 5 days, 19:10,  2 users,  load average: 0.00, 0.00, 0.00
 13:09:44 up 5 days, 19:11,  2 users,  load average: 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 越多,負(fù)載就增加的越快。

$ stress --cpu 4
$ ./watch-it
 13:47:49 up 5 days, 19:49,  2 users,  load average: 0.00, 0.00, 0.00
 13:48:19 up 5 days, 19:49,  2 users,  load average: 1.58, 0.38, 0.13
 13:48:49 up 5 days, 19:50,  2 users,  load average: 2.61, 0.75, 0.26
 13:49:19 up 5 days, 19:50,  2 users,  load average: 3.16, 1.06, 0.38
 13:49:49 up 5 days, 19:51,  2 users,  load average: 3.49, 1.34, 0.50
 13:50:19 up 5 days, 19:51,  2 users,  load average: 3.69, 1.60, 0.61

stress 命令也可以通過 --io(輸入/輸出)和 --vm(內(nèi)存)選項(xiàng)增加 I/O 和內(nèi)存的負(fù)載來給系統(tǒng)施加壓力。

在接下來的這個(gè)例子中,運(yùn)行這個(gè)增加內(nèi)存壓力的命令,然后啟動(dòng) watch-it-2 腳本。

$ stress --vm 2

$ watch-it-2
              total        used        free      shared  buff/cache   available
Mem:        6087064      662160     2519164        8868     2905740     5117548
Swap:       2097148           0     2097148
              total        used        free      shared  buff/cache   available
Mem:        6087064      803464     2377832        8864     2905768     4976248
Swap:       2097148           0     2097148
              total        used        free      shared  buff/cache   available
Mem:        6087064      968512     2212772        8864     2905780     4811200
Swap:       2097148           0     2097148

stress 的另一個(gè)選項(xiàng)是使用 --io 選項(xiàng)為系統(tǒng)添加輸入/輸出活動(dòng)。在這種情況下,你可以使用這樣的命令:

$ stress --io 4

然后你可以使用 iotop 觀察受壓的 I/O。注意,運(yùn)行 iotop 需要 root 權(quán)限。

之前:

$ sudo iotop -o
Total DISK READ:         0.00 B/s | Total DISK WRITE:        19.36 K/s
Current DISK READ:       0.00 B/s | Current DISK WRITE:      27.10 K/s
    TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 269308 be/4 root        0.00 B/s    0.00 B/s  0.00 %  1.24 % [kworker~fficient]
    283 be/3 root        0.00 B/s   19.36 K/s  0.00 %  0.26 % [jbd2/sda1-8]

之后:

Total DISK READ:         0.00 B/s | Total DISK WRITE:         0.00 B/s
Current DISK READ:       0.00 B/s | Current DISK WRITE:       0.00 B/s
    TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 270983 be/4 shs         0.00 B/s    0.00 B/s  0.00 % 51.45 % stress --io 4
 270984 be/4 shs         0.00 B/s    0.00 B/s  0.00 % 51.36 % stress --io 4
 270985 be/4 shs         0.00 B/s    0.00 B/s  0.00 % 50.95 % stress --io 4
 270982 be/4 shs         0.00 B/s    0.00 B/s  0.00 % 50.80 % stress --io 4
 269308 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.09 % [kworker~fficient]

stress 只是給系統(tǒng)增加壓力的若干工具之一。另一個(gè)較新的工具,stress-ng,將在以后的文章中介紹。

總結(jié)

用于系統(tǒng)壓力測試的各種工具可以幫助你預(yù)測系統(tǒng)在真實(shí)世界的情況下如何響應(yīng),在這些情況下,它們受到增加的流量和計(jì)算需求。

雖然我們?cè)谖恼轮姓故镜氖莿?chuàng)建和測量各種類型的壓力的方法,但最終的好處是壓力如何幫助確定你的系統(tǒng)或應(yīng)用程序?qū)λ姆磻?yīng)。



分享文章:如何對(duì)你的Linux系統(tǒng)進(jìn)行壓力測試
轉(zhuǎn)載來源:http://m.5511xx.com/article/cccjjip.html