Yadda ake Sanya Babban Load da Gwajin damuwa akan Linux Ta amfani da Kayan aikin Stress-ng


A matsayinka na Mai Gudanar da Tsari, ƙila ka so bincika da saka idanu akan matsayin tsarin Linux ɗinka lokacin da suke cikin damuwa na babban nauyi. Wannan na iya zama kyakkyawar hanya ga Masu Gudanar da Tsari da Masu Shirye-shiryen zuwa:

  1. ayyukan daidaitawa akan tsarin.
  2. sa ido kan hanyoyin sadarwa na kernel na tsarin aiki.
  3. gwada kayan aikin Linux ɗinku kamar CPU, ƙwaƙwalwar ajiya, na'urorin diski da sauran su don lura da ayyukansu cikin damuwa.
  4. auna nau'ikan lodi daban-daban masu cin wuta akan tsarin.

A cikin wannan jagorar, zamu kalli mahimman kayan aiki guda biyu, damuwa da damuwa-ng don gwajin damuwa a ƙarƙashin tsarin Linux ɗin ku.

1. damuwa - kayan aikin janareta ne wanda aka tsara don ƙaddamar da tsarin ku zuwa ma'auni mai daidaitawa na CPU, ƙwaƙwalwar ajiya, I/O da damuwa na diski.

2. stress-ng - wani sabon salo ne na kayan aikin janareta na aikin damuwa wanda ke gwada tsarin ku don abubuwa masu zuwa:

  1. CPU lissafi
  2. danniya
  3. An daidaita I/O
  4. Bututu I/O
  5. cache cache
  6. Matsalar VM
  7. matsalar socket
  8. tsari ƙirƙira da ƙarewa
  9. masu canza yanayin yanayi

Kodayake waɗannan kayan aikin suna da kyau don bincika tsarin ku, bai kamata kowane mai amfani da tsarin ya yi amfani da su ba.

Muhimmi: Ana ba da shawarar sosai cewa kayi amfani da waɗannan kayan aikin tare da gata na tushen mai amfani, saboda suna iya jaddada na'urar Linux ɗin ku cikin sauri kuma don guje wa wasu kurakuran tsarin akan kayan aikin da ba su da kyau.

Yadda ake Sanya kayan aikin 'danniya' a cikin Linux

Don shigar da kayan aikin damuwa akan Debian da abubuwan da suka samo asali kamar Ubuntu da Mint, gudanar da umarni mai zuwa.

$ sudo apt-get install stress

Don shigar da damuwa akan RHEL/CentOS da Fedora Linux, kuna buƙatar kunna ma'ajiyar EPEL sannan a buga yum umarni mai zuwa don shigar da iri ɗaya:

# yum install stress

Gabaɗaya syntax don amfani da damuwa shine:

$ sudo stress option argument

Wasu zaɓuɓɓuka waɗanda za ku iya amfani da su tare da damuwa.

  1. Don haɓaka N ma'aikatan da ke jujjuya aikin sqrt(), yi amfani da zaɓin –cpu N kamar haka.
  2. Don haɓaka N ma'aikatan da ke jujjuya aikin daidaitawa, yi amfani da zaɓin -io N kamar haka.
  3. Don haɓaka N ma'aikatan da ke jujjuyawa akan ayyukan malloc()/free(), yi amfani da zaɓin -vm N.
  4. Don rarraba ƙwaƙwalwar ajiya ga kowane ma'aikacin vm, yi amfani da zaɓin -vm-bytes N.
  5. Maimakon 'yantar da kayan aikin ƙwaƙwalwar ajiya, zaku iya ja dacewar ƙwaƙwalwar ajiya ta amfani da zaɓin -vm-keep.
  6. Saita barci zuwa daƙiƙan N kafin 'yantar da ƙwaƙwalwar ajiya ta amfani da zaɓin –vm-hang N.
  7. Don haifar da N ma'aikatan da ke jujjuya ayyukan rubutu()/ unlink(), yi amfani da zaɓin -hdd N.
  8. Zaku iya saita lokacin ƙarewa bayan sakan N ta amfani da zaɓin –timeout N.
  9. Saita yanayin jira na N microsecond kafin kowane aiki ya fara ta amfani da zaɓin –backoff N kamar haka.
  10. Don nuna ƙarin cikakkun bayanai lokacin tafiyar damuwa, yi amfani da zaɓin -v.
  11. Yi amfani -help don duba taimako don amfani da damuwa ko duba shafin yanar gizon.

1. Don bincika tasirin umarnin a duk lokacin da kuke gudanar da shi, fara aiwatar da umarnin lokacin aiki kuma ku lura da matsakaicin nauyi.

Na gaba, gudanar da umarnin damuwa don haifar da ma'aikata 8 suna jujjuya akan sqrt() tare da lokacin daƙiƙa 20. Bayan gudana danniya, sake gudanar da umarnin lokacin aiki kuma kwatanta matsakaicin nauyi.

[email  ~ $ uptime
[email  ~ $ sudo stress --cpu  8 --timeout 20
[email  ~ $ uptime
[email  ~ $ uptime    
 17:20:00 up  7:51,  2 users,  load average: 1.91, 2.16, 1.93     [<-- Watch Load Average]
[email  ~ $ sudo stress --cpu 8 --timeout 20
stress: info: [17246] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd
stress: info: [17246] successful run completed in 21s
[email  ~ $ uptime
 17:20:24 up  7:51,  2 users,  load average: 5.14, 2.88, 2.17     [<-- Watch Load Average]

2. Don haifar da ma'aikata 8 suna jujjuya akan sqrt() tare da lokacin daƙiƙa 30, suna nuna cikakkun bayanai game da aikin, gudanar da wannan umarni:

[email  ~ $ uptime
[email  ~ $ sudo stress --cpu 8 -v --timeout 30s
[email  ~ $ uptime
[email  ~ $ uptime
 17:27:25 up  7:58,  2 users,  load average: 1.40, 1.90, 1.98     [<-- Watch Load Average]
[email  ~ $ sudo stress --cpu 8 -v --timeout 30s
stress: info: [17353] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd
stress: dbug: [17353] using backoff sleep of 24000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 8 [17354] forked
stress: dbug: [17353] using backoff sleep of 21000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 7 [17355] forked
stress: dbug: [17353] using backoff sleep of 18000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 6 [17356] forked
stress: dbug: [17353] using backoff sleep of 15000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 5 [17357] forked
stress: dbug: [17353] using backoff sleep of 12000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 4 [17358] forked
stress: dbug: [17353] using backoff sleep of 9000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 3 [17359] forked
stress: dbug: [17353] using backoff sleep of 6000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 2 [17360] forked
stress: dbug: [17353] using backoff sleep of 3000us
stress: dbug: [17353] setting timeout to 30s
stress: dbug: [17353] --> hogcpu worker 1 [17361] forked
stress: dbug: [17353] [email  ~ $ uptime
 17:27:59 up  7:59,  2 users,  load average: 5.41, 2.82, 2.28     [<-- Watch Load Average]

3. Don spwan ma'aikaci ɗaya na malloc() da ayyukan kyauta() tare da ƙarewar daƙiƙa 60, gudanar da umarni mai zuwa.

[email  ~ $ uptime
[email  ~ $ sudo stress --vm 1 --timeout 60s 
[email  ~ $ uptime
[email  ~ $ uptime
 17:34:07 up  8:05,  2 users,  load average: 1.54, 2.04, 2.11     [<-- Watch Load Average]
[email  ~ $ sudo stress --vm 1 --timeout 60s 
stress: info: [17420] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
stress: info: [17420] successful run completed in 60s
tecmint[email  ~ $ uptime
 17:35:20 up  8:06,  2 users,  load average: 2.45, 2.24, 2.17     [<-- Watch Load Average]

4. Don spwan 4 ma'aikata suna jujjuya akan sqrt(), ma'aikata 2 suna spwaning akan sync(), ma'aikata 2 akan malloc()/kyauta(), tare da lokacin daga cikin 20 seconds kuma ware ƙwaƙwalwar 256MB ga ma'aikacin vm, gudanar da wannan. umarnin kasa.

[email  ~ $ uptime
[email  ~ $ sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s 
[email  ~ $ uptime
[email  ~ $ uptime
 17:40:33 up  8:12,  2 users,  load average: 1.68, 1.84, 2.02     [<-- Watch Load Average]
[email  ~ $ sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s
stress: info: [17501] dispatching hogs: 4 cpu, 3 io, 2 vm, 0 hdd
stress: info: [17501] successful run completed in 20s
[email  ~ $ uptime
 17:40:58 up  8:12,  2 users,  load average: 4.63, 2.54, 2.24     [<-- Watch Load Average]