pt-diskstatsp - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ pt-diskstatsp ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


pt-diskstats - ເຄື່ອງມືກວດສອບ I/O ແບບໂຕ້ຕອບສໍາລັບ GNU/Linux.

ສະຫຼຸບສັງລວມ


ການນຳໃຊ້: pt-diskstats [ຕົວເລືອກ] [FILES]

pt-diskstats ພິມສະຖິຕິ disk I/O ສໍາລັບ GNU/Linux. ມັນຄ້າຍຄືກັນກັບ iostat,
ແຕ່ມັນເປັນການໂຕ້ຕອບແລະລາຍລະອຽດເພີ່ມເຕີມ. ມັນສາມາດວິເຄາະຕົວຢ່າງທີ່ລວບລວມຈາກອື່ນ
ເຄື່ອງຈັກ.

RISKS


Percona Toolkit ແມ່ນຜູ້ໃຫຍ່, ພິສູດໃນໂລກທີ່ແທ້ຈິງ, ແລະທົດສອບໄດ້ດີ, ແຕ່ຖານຂໍ້ມູນທັງຫມົດ
ເຄື່ອງມືສາມາດສ້າງຄວາມສ່ຽງຕໍ່ລະບົບແລະເຄື່ອງແມ່ຂ່າຍຂອງຖານຂໍ້ມູນ. ກ່ອນທີ່ຈະໃຊ້ເຄື່ອງມືນີ້,
ກະລຸນາ:

· ອ່ານເອກະສານຂອງເຄື່ອງມື

·ທົບທວນເຄື່ອງມືທີ່ຮູ້ຈັກ "BUGS"

· ທົດສອບເຄື່ອງມືໃນເຊີບເວີທີ່ບໍ່ແມ່ນການຜະລິດ

·ສໍາຮອງເຄື່ອງແມ່ຂ່າຍການຜະລິດຂອງທ່ານແລະກວດສອບການສໍາຮອງຂໍ້ມູນ

ລາຍລະອຽດ


ເຄື່ອງມື pt-diskstats ແມ່ນຄ້າຍຄືກັນກັບ iostat, ແຕ່ມີຂໍ້ດີບາງຢ່າງ. ມັນພິມອ່ານແລະ
ຂຽນສະຖິຕິແຍກຕ່າງຫາກ, ແລະມີຖັນຫຼາຍ. ມັນ​ເປັນ​ເມ​ນູ​ຂັບ​ເຄື່ອນ​ແລະ​ການ​ໂຕ້​ຕອບ​, ມີ​
ຫຼາຍວິທີທີ່ແຕກຕ່າງກັນເພື່ອລວບລວມຂໍ້ມູນ. ມັນປະສົມປະສານໄດ້ດີກັບເຄື່ອງມື pt-stalk.
ມັນຍັງເຮັດ "ສິ່ງທີ່ຖືກຕ້ອງ" ໂດຍຄ່າເລີ່ມຕົ້ນ, ເຊັ່ນ: ເຊື່ອງແຜ່ນທີ່ບໍ່ໄດ້ເຮັດວຽກ. ເຫຼົ່ານີ້
ຄຸນ​ສົມ​ບັດ​ເຮັດ​ໃຫ້​ມັນ​ສະ​ດວກ​ຫຼາຍ​ສໍາ​ລັບ​ການ​ຢ່າງ​ວ່ອງ​ໄວ​ເຈາະ​ລົງ​ໃນ​ການ​ປະ​ຕິ​ບັດ I / O ແລະ​
ການ​ກວດ​ກາ​ພຶດ​ຕິ​ກໍາ​ຂອງ​ແຜ່ນ​.

ໂຄງ​ການ​ນີ້​ເຮັດ​ວຽກ​ຢູ່​ໃນ​ສອງ​ທິ​ບາຍ​ຮູບ​ແບບ​. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອເກັບກໍາຕົວຢ່າງຂອງ /proc/diskstats ແລະ
ພິມສະຖິຕິທີ່ມີຮູບແບບເປັນໄລຍະໆ. ໂຫມດອື່ນແມ່ນການປຸງແຕ່ງໄຟລ໌ທີ່
ມີຕົວຢ່າງທີ່ບັນທຶກໄວ້ /proc/diskstats; ມີ Shell script ຕໍ່ມາໃນເລື່ອງນີ້
ເອກະສານທີ່ສະແດງໃຫ້ເຫັນວິທີການເກັບກໍາເອກະສານດັ່ງກ່າວ.

ໃນທັງສອງກໍລະນີ, ເຄື່ອງມືໄດ້ຖືກຄວບຄຸມການໂຕ້ຕອບໂດຍການກົດແປ້ນພິມ, ດັ່ງນັ້ນທ່ານສາມາດສະແດງຄືນໃຫມ່
ແລະຕັດຂໍ້ມູນຢ່າງຍືດຫຍຸ່ນແລະງ່າຍດາຍ. ມັນ loops ຕະຫຼອດໄປ, ຈົນກວ່າທ່ານຈະອອກດ້ວຍ 'q'
ກະແຈ. ຖ້າເຈົ້າກົດ '?' ທີ່​ສໍາ​ຄັນ​, ທ່ານ​ຈະ​ນໍາ​ເອົາ​ເຖິງ​ເມ​ນູ​ການ​ຊ່ວຍ​ເຫຼືອ​ໂຕ້​ຕອບ​ທີ່​ສະ​ແດງ​ໃຫ້​ເຫັນ​
ປຸ່ມໃດຄວບຄຸມໂຄງການ.

ໃນເວລາທີ່ໂຄງການແມ່ນເກັບກໍາຕົວຢ່າງຂອງ /proc/diskstats ແລະປັບປຸງການສະແດງຜົນຂອງມັນ, ມັນ
ພິມຂໍ້ມູນກ່ຽວກັບຕົວຢ່າງໃຫມ່ສຸດໃນແຕ່ລະຄັ້ງທີ່ມັນໂຫຼດຫນ້າຈໍຄືນ. ໃນເວລາທີ່ມັນດໍາເນີນການ
ໃນໄຟລ໌ຂອງຕົວຢ່າງທີ່ບັນທຶກໄວ້, ມັນ redraws ເນື້ອໃນຂອງໄຟລ໌ທັງຫມົດທຸກຄັ້ງທີ່ທ່ານປ່ຽນ an
ທາງເລືອກ.

ໂປລແກລມບໍ່ໄດ້ພິມຂໍ້ມູນກ່ຽວກັບທຸກອຸປະກອນບລັອກໃນລະບົບ. ມັນເຊື່ອງ
ອຸປະກອນທີ່ມັນບໍ່ເຄີຍສັງເກດເຫັນວ່າມີກິດຈະກໍາໃດໆ. ທ່ານສາມາດເປີດແລະປິດການທໍາງານນີ້
ໂດຍການກົດປຸ່ມ 'i'.

OUTPUT


ໃນສ່ວນທີ່ເຫຼືອຂອງເອກະສານນີ້, ພວກເຮົາຈະພະຍາຍາມຊີ້ແຈງຄວາມແຕກຕ່າງລະຫວ່າງບລັອກ
ອຸປະກອນ (/dev/sda1, ສໍາລັບການຍົກຕົວຢ່າງ), ທີ່ kernel ນໍາສະເຫນີຄໍາຮ້ອງສະຫມັກໂດຍຜ່ານ a
ລະບົບໄຟລ໌, ທຽບກັບອຸປະກອນທາງກາຍະພາບ (ປົກກະຕິແລ້ວ) ພາຍໃຕ້ອຸປະກອນບລັອກ, ເຊິ່ງສາມາດ
ເປັນແຜ່ນ, ເປັນຕົວຄວບຄຸມ RAID, ແລະອື່ນໆ. ບາງຄັ້ງພວກເຮົາຈະອ້າງເຖິງ I/O ຢ່າງມີເຫດຜົນ
ການ​ດໍາ​ເນີນ​ງານ​, ທີ່​ເກີດ​ຂຶ້ນ​ຢູ່​ໃນ​ອຸ​ປະ​ກອນ block ໄດ້​, ທຽບ​ກັບ I/Os ທາງ​ດ້ານ​ຮ່າງ​ກາຍ​ທີ່​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ໃນ​
ອຸປະກອນທີ່ຕິດພັນ. ເມື່ອພວກເຮົາກ່າວເຖິງແຖວ, ພວກເຮົາເວົ້າກ່ຽວກັບແຖວ
ທີ່​ກ່ຽວ​ຂ້ອງ​ກັບ​ອຸ​ປະ​ກອນ block ໄດ້​, ທີ່​ມີ​ການ​ຮ້ອງ​ຂໍ​ຈົນ​ກ​່​ວາ​ພວກ​ເຂົາ​ເຈົ້າ​ຈະ​ອອກ​ໃຫ້​
ອຸ​ປະ​ກອນ​ທາງ​ດ້ານ​ຮ່າງ​ກາຍ​.

ຜົນຜະລິດຂອງໂປລແກລມເບິ່ງຄືວ່າຕົວຢ່າງຕໍ່ໄປນີ້, ເຊິ່ງກວ້າງເກີນໄປສໍາລັບຄູ່ມືນີ້
ຫນ້າ, ດັ່ງນັ້ນພວກເຮົາໄດ້ຈັດຮູບແບບມັນເປັນຕົວຢ່າງຈໍານວນຫນຶ່ງທີ່ມີການແບ່ງແຖວ:

#ts ອຸປະກອນ rd_s rd_avkb rd_mb_s rd_mrg rd_cnc rd_rt
{6} sda 0.9 4.2 0.0 0% 0.0 17.9
{6} sdb 0.4 4.0 0.0 0% 0.0 26.1
{6} dm-0 0.0 4.0 0.0 0% 0.0 13.5
{6} dm-1 0.8 4.0 0.0 0% 0.0 16.0

... wr_s wr_avkb wr_mb_s wr_mrg wr_cnc wr_rt
... 99.7 6.2 0.6 35% 3.7 23.7
... 14.5 15.8 0.2 75% 0.5 9.2
... 1.0 4.0 0.0 0% 0.0 2.3
... 117.7 4.0 0.5 0% 4.1 35.1

... ຫວ່າງ in_prg io_s qtime stime
... 6% 0 100.6 23.3 0.4
... 4% 0 14.9 8.6 0.6
... 0% 0 1.1 1.5 1.2
... 5% 0 118.5 34.5 0.4

ຖັນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

#ts ເນື້ອໃນຂອງຖັນນີ້ແຕກຕ່າງກັນໄປຕາມຮູບແບບການລວບລວມຂອງເຄື່ອງມື. ໃນຄ່າເລີ່ມຕົ້ນ
ຮູບແບບ, ເມື່ອແຕ່ລະແຖວມີຂໍ້ມູນກ່ຽວກັບແຜ່ນດຽວແຕ່ອາດຈະລວບລວມ
ໃນທົ່ວຫຼາຍໆຕົວຢ່າງຈາກແຜ່ນນັ້ນ, ຖັນນີ້ສະແດງຈໍານວນຕົວຢ່າງທີ່
ໄດ້ຖືກລວມເຂົ້າໃນເສັ້ນຜົນຜະລິດ, ໃນ {curly braces}. ໃນຕົວຢ່າງທີ່ສະແດງໃຫ້ເຫັນ, ແຕ່ລະຄົນ
ເສັ້ນຜົນຜະລິດລວມ {10} ຕົວຢ່າງຂອງ /proc/diskstats.

ໃນໂຫມດ "ທັງຫມົດ", ຖັນນີ້ສະແດງໃຫ້ເຫັນການຊົດເຊີຍເວລາ, ທຽບກັບເວລາ
ເຄື່ອງ​ມື​ໄດ້​ເລີ່ມ​ຕົ້ນ​ການ​ລວມ​ຫຼື timestamp ຂອງ​ເສັ້ນ​ທີ່​ຜ່ານ​ມາ​ພິມ​, ຂຶ້ນ​ກັບ​
ໃນ​ຮູບ​ແບບ​ການ​. ຜົນຜະລິດສາມາດສັບສົນທີ່ຈະອະທິບາຍ, ແຕ່ມັນກໍ່ເປັນ intuitive ເມື່ອ
ທ່ານ​ເຫັນ​ເສັ້ນ​ທີ່​ປາ​ກົດ​ຢູ່​ໃນ​ຫນ້າ​ຈໍ​ຂອງ​ທ່ານ​ເປັນ​ໄລ​ຍະ​.

ເຊັ່ນດຽວກັນ, ໃນ "ຕົວຢ່າງ" ແບບກຸ່ມໂດຍຮູບແບບ, ຕົວເລກຊີ້ໃຫ້ເຫັນເຖິງໄລຍະເວລາທັງຫມົດ
ຈັດກຸ່ມເຂົ້າໄປໃນແຕ່ລະຕົວຢ່າງ.

ຖ້າທ່ານລະບຸ "--show-timestamps", ຊ່ອງຂໍ້ມູນນີ້ແທນທີ່ຈະສະແດງການສະແຕມເວລາ
ຕົວຢ່າງໄດ້ຖືກປະຕິບັດ; ຖ້າເວລາຫຼາຍມີຢູ່ໃນແຖວດຽວຂອງຜົນຜະລິດ,
ຫຼັງຈາກນັ້ນ, ເວລາທໍາອິດຖືກນໍາໃຊ້.

ອຸປະກອນ
ຊື່ອຸປະກອນ. ຖ້າມີຫຼາຍກວ່າຫນຶ່ງອຸປະກອນ, ຫຼັງຈາກນັ້ນແທນທີ່ຈະເປັນຈໍານວນຂອງອຸປະກອນ
ລວມເຂົ້າໄປໃນເສັ້ນສະແດງ, ໃນ {curly braces}.

rd_s
ຈໍານວນສະເລ່ຍຂອງການອ່ານຕໍ່ວິນາທີ. ນີ້ແມ່ນຈໍານວນຄໍາຮ້ອງຂໍ I/O ທີ່ມີ
ຖືກສົ່ງໄປຫາອຸປະກອນພື້ນຖານ. ນີ້ມັກຈະເປັນຕົວເລກນ້ອຍກວ່າຈໍານວນ
ການຮ້ອງຂໍ IO ຢ່າງມີເຫດຜົນເຮັດໂດຍແອັບພລິເຄຊັນ. ການຮ້ອງຂໍເພີ່ມເຕີມອາດຈະຖືກຈັດຄິວໄປຫາ
ອຸ​ປະ​ກອນ block, ແຕ່​ບາງ​ສ່ວນ​ຂອງ​ພວກ​ເຂົາ​ໂດຍ​ປົກ​ກະ​ຕິ​ແມ່ນ​ໄດ້​ຖືກ​ລວມ​ເຂົ້າ​ກ່ອນ​ທີ່​ຈະ​ຖືກ​ສົ່ງ​ໄປ​ໃນ​ແຜ່ນ.

ພາກສະຫນາມນີ້ຖືກຄິດໄລ່ຈາກເນື້ອໃນຂອງ /proc/diskstats ດັ່ງນີ້. ເບິ່ງ "KERNEL
DOCUMENTATION" ຂ້າງລຸ່ມນີ້ສໍາລັບຄວາມຫມາຍຂອງຕົວເລກພາກສະຫນາມ:

delta[field1] / delta[ເວລາ]

rd_avkb
ຂະຫນາດສະເລ່ຍຂອງການອ່ານ, ໃນກິໂລໄບ. ພາກສະຫນາມນີ້ຖືກຄິດໄລ່ດັ່ງຕໍ່ໄປນີ້:

2 * delta[field3] / delta[field1]

rd_mb_s
ຈໍານວນສະເລ່ຍຂອງ megabytes ອ່ານຕໍ່ວິນາທີ. ຄໍາ​ນວນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

2 * delta[field3] / delta[ເວລາ]

rd_mrg
ເປີເຊັນຂອງການຮ້ອງຂໍການອ່ານທີ່ໄດ້ຖືກລວມເຂົ້າກັນຢູ່ໃນຕາຕະລາງແຖວ
ກ່ອນທີ່ຈະຖືກສົ່ງໄປຫາອຸປະກອນທາງດ້ານຮ່າງກາຍ. ພາກສະຫນາມໄດ້ຖືກຄິດໄລ່ດັ່ງຕໍ່ໄປນີ້:

100 * delta[field2] / (delta[field2] + delta[field1])

rd_cnc
ຄວາມສອດຄ່ອງໂດຍສະເລ່ຍຂອງການປະຕິບັດການອ່ານ, ຕາມການຄິດໄລ່ໂດຍກົດຫມາຍຂອງ Little. ນີ້​ແມ່ນ
ຄວາມສອດຄ່ອງກັນທາງທ້າຍເຖິງຈຸດສິ້ນສຸດໃນອຸປະກອນບລັອກ, ບໍ່ແມ່ນການສອດຄ່ອງກັນຂອງແຜ່ນທີ່ຕິດພັນ.
ມັນປະກອບມີເວລາທີ່ໃຊ້ໃນແຖວ. ພາກສະຫນາມໄດ້ຖືກຄິດໄລ່ດັ່ງຕໍ່ໄປນີ້:

delta[field4] / delta[time] / 1000 / devices-in-group

rd_rt
ເວລາຕອບສະ ໜອງ ໂດຍສະເລ່ຍຂອງການປະຕິບັດການອ່ານ, ເປັນ milliseconds. ນີ້​ແມ່ນ​ທີ່​ສຸດ -
ເວລາຕອບທ້າຍ, ລວມທັງເວລາທີ່ໃຊ້ໃນຄິວ. ມັນແມ່ນເວລາຕອບໂຕ້
ແອັບພລິເຄຊັນເຮັດໃຫ້ການຮ້ອງຂໍ I/O ເຫັນ, ບໍ່ແມ່ນເວລາຕອບສະຫນອງຂອງດິສຕົວຈິງ
ຕິດພັນກັບອຸປະກອນຕັນ. ມັນ​ໄດ້​ຖືກ​ຄິດ​ໄລ່​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

delta[field4] / (delta[field1] + delta[field2])

wr_s, wr_avkb, wr_mb_s, wr_mrg, wr_cnc, wr_rt
ຖັນເຫຼົ່ານີ້ສະແດງກິດຈະກໍາການຂຽນ, ແລະພວກມັນກົງກັບຄໍລໍາທີ່ສອດຄ້ອງກັນສໍາລັບການອ່ານ
ກິດຈະກໍາ.

ຄາ​ວຽກ
ແຕ່ສ່ວນໜຶ່ງຂອງໂມງຕິດຝາທີ່ອຸປະກອນມີຢ່າງໜ້ອຍໜຶ່ງຄຳຮ້ອງຂໍທີ່ພວມດຳເນີນຢູ່;
ນີ້ແມ່ນສິ່ງທີ່ iostat ເອີ້ນວ່າ %util, ແລະແທ້ຈິງແລ້ວມັນແມ່ນການນໍາໃຊ້, ຂຶ້ນກັບວິທີທີ່ທ່ານ
ກໍາ​ນົດ​ການ​ນໍາ​ໃຊ້​, ແຕ່​ວ່າ​ບາງ​ຄັ້ງ​ກໍ​ມີ​ຄວາມ​ບໍ່​ຊັດ​ເຈນ​ໃນ​ຄໍາ​ສັບ​ທົ່ວ​ໄປ​. ມັນອາດຈະ
ເອີ້ນວ່າເວລາທີ່ຢູ່ອາໄສ; ໄລຍະເວລາທີ່ຢ່າງຫນ້ອຍຫນຶ່ງຄໍາຮ້ອງຂໍເປັນທີ່ຢູ່ອາໄສ
ໃນ​ລະ​ບົບ​. ມັນ​ໄດ້​ຖືກ​ຄິດ​ໄລ່​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

100 * delta[field10] / (1000 * delta[ເວລາ])

ຊ່ອງຂໍ້ມູນນີ້ບໍ່ສາມາດເກີນ 100% ເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດການຮອບ, ແຕ່ມັນເປັນເລື່ອງທົ່ວໄປ
ຄວາມຜິດພາດທີ່ຄິດວ່າອຸປະກອນທີ່ຫຍຸ້ງຢູ່ຕະຫຼອດເວລາແມ່ນອີ່ມຕົວ. ອຸປະກອນເຊັ່ນ
ເນື່ອງຈາກປະລິມານ RAID ຄວນສະຫນັບສະຫນູນຄວາມສອດຄ່ອງສູງກວ່າ 1, ແລະໄດລັດແຂງສາມາດ
ສະຫນັບສະຫນູນຄວາມສອດຄ່ອງສູງຫຼາຍ. Concurrency ສາມາດຂະຫຍາຍຕົວໂດຍບໍ່ມີການຜູກມັດ, ແລະເປັນຫຼາຍ
ຕົວຊີ້ວັດທີ່ເຊື່ອຖືໄດ້ຂອງວິທີການໂຫຼດອຸປະກອນຢ່າງແທ້ຈິງ.

in_prg
ຈຳນວນຄຳຮ້ອງຂໍທີ່ພວມດຳເນີນຢູ່. ບໍ່ຄືກັບການອ່ານແລະຂຽນ
concurrencies, ເຊິ່ງເປັນຄ່າສະເລ່ຍທີ່ຜະລິດຈາກຕົວເລກທີ່ເຊື່ອຖືໄດ້, ນີ້
ຕົວເລກແມ່ນຕົວຢ່າງທັນທີ, ແລະເຈົ້າສາມາດເຫັນໄດ້ວ່າມັນອາດຈະເປັນຕົວແທນຂອງຄວາມກ້າວຫນ້າ
ການຮ້ອງຂໍ, ແທນທີ່ຈະເປັນຄ່າສະເລ່ຍໃນໄລຍະຍາວທີ່ແທ້ຈິງ. ຖ້າຕົວເລກນີ້ມີຂະຫນາດໃຫຍ່, ມັນ
ໂດຍວິທີທາງການ, ຫມາຍຄວາມວ່າອຸປະກອນໄດ້ຖືກໂຫລດຫຼາຍ. ມັນ​ໄດ້​ຖືກ​ຄິດ​ໄລ່​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

field9

ios_s
ການສົ່ງຜ່ານສະເລ່ຍຂອງອຸປະກອນທາງດ້ານຮ່າງກາຍ, ໃນການດໍາເນີນງານ I/O ຕໍ່ວິນາທີ (IOPS).
ຖັນນີ້ສະແດງ IOPS ທັງໝົດທີ່ອຸປະກອນພື້ນຖານກຳລັງຈັດການ. ມັນແມ່ນຜົນລວມຂອງ
rd_s ແລະ wr_s.

qtime
ເວລາຄິວສະເລ່ຍ; ນັ້ນແມ່ນ, ເວລາການຮ້ອງຂໍໃຊ້ເວລາຢູ່ໃນແຖວຕາຕະລາງອຸປະກອນ
ກ່ອນທີ່ຈະຖືກສົ່ງໄປຫາອຸປະກອນທາງດ້ານຮ່າງກາຍ. ນີ້ແມ່ນສະເລ່ຍຫຼາຍກວ່າການອ່ານ ແລະຂຽນ.

ມັນໄດ້ຖືກຄິດໄລ່ໃນວິທີການທີ່ສັບສົນເລັກນ້ອຍ: ເວລາຕອບສະຫນອງໂດຍສະເລ່ຍທີ່ເຫັນໂດຍ
ຄໍາຮ້ອງສະຫມັກ, ລົບເວລາການບໍລິການສະເລ່ຍ (ເບິ່ງລາຍລະອຽດຂອງຄໍລໍາຕໍ່ໄປ).
ນີ້ແມ່ນໄດ້ມາຈາກສູດທິດສະດີຄິວສໍາລັບເວລາຕອບສະຫນອງ, R = W + S:
ເວລາຕອບສະຫນອງ = ເວລາຄິວ + ເວລາບໍລິການ. ນີ້ແມ່ນການແກ້ໄຂສໍາລັບ W, ແນ່ນອນ, ໃຫ້ W
= R - S. ການ​ຄິດ​ໄລ່​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

delta[field11] / (delta[field1, 2, 5, 6] + delta[field9])
- delta[field10] / delta[field1, 2, 5, 6]

ເບິ່ງຄໍາອະທິບາຍສໍາລັບ "stime" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມແລະລະມັດລະວັງ.

ເວລາ
ເວລາບໍລິການສະເລ່ຍ; ນັ້ນແມ່ນ, ເວລາຜ່ານໄປໃນຂະນະທີ່ອຸປະກອນທາງດ້ານຮ່າງກາຍ
ດໍາເນີນການຮ້ອງຂໍ, ຫຼັງຈາກຄໍາຮ້ອງຂໍສໍາເລັດການລໍຖ້າຢູ່ໃນແຖວ. ນີ້ແມ່ນ
ສະເລ່ຍຫຼາຍກວ່າອ່ານແລະຂຽນ. ມັນ​ໄດ້​ຖືກ​ຄິດ​ໄລ່​ຈາກ​ການ​ນໍາ​ໃຊ້​ທິດ​ສະ​ດີ​ຄິວ​
ສູດ, U = SX, ແກ້ໄຂສໍາລັບ S. ນີ້ຫມາຍຄວາມວ່າການນໍາໃຊ້ແບ່ງອອກໂດຍ throughput
ໃຫ້​ເວ​ລາ​ການ​ບໍ​ລິ​ການ​:

delta[field10] / (delta[field1, 2, 5, 6])

ຢ່າງໃດກໍຕາມ, ໃຫ້ສັງເກດວ່າມີບາງຂໍ້ບົກພ່ອງ kernel ທີ່ເຮັດໃຫ້ເກີດພາກສະຫນາມ 9 ໃນ
/proc/diskstats ກາຍເປັນທາງລົບ, ແລະນີ້ສາມາດເຮັດໃຫ້ພາກສະຫນາມ 10 ຜິດພາດ, ດັ່ງນັ້ນ
ເຮັດໃຫ້ການຄິດໄລ່ເວລາການບໍລິການບໍ່ຫນ້າເຊື່ອຖືທັງຫມົດ.

ໃຫ້ສັງເກດວ່າໃນສູດຂ້າງເທິງນີ້ພວກເຮົາໃຊ້ການນໍາໃຊ້ໂດຍສະເພາະ. ມັນ​ເປັນ​ໄລ​ຍະ​ເວ​ລາ​,
ບໍ່ແມ່ນເປີເຊັນ.

ທ່ານສາມາດປຽບທຽບຄໍລໍາ stime ແລະ qtime ເພື່ອເບິ່ງວ່າເວລາຕອບສະຫນອງສໍາລັບການອ່ານ
ແລະການຂຽນແມ່ນໃຊ້ເວລາຢູ່ໃນແຖວຫຼືຢູ່ໃນອຸປະກອນທາງດ້ານຮ່າງກາຍ. ຢ່າງໃດກໍຕາມ, ທ່ານບໍ່ສາມາດເຫັນ
ຄວາມແຕກຕ່າງລະຫວ່າງການອ່ານແລະການຂຽນ. ການ​ປ່ຽນ​ແປງ​ການ​ກໍາ​ນົດ​ເວ​ລາ​ອຸ​ປະ​ກອນ block​
ສູດການຄິດໄລ່ອາດຈະປັບປຸງເວລາຄິວຢ່າງຫຼວງຫຼາຍ. algorithm ເລີ່ມຕົ້ນ, cfq, ແມ່ນບໍ່ດີຫຼາຍ
ສໍາລັບເຊີບເວີ, ແລະຄວນໃຊ້ໃນແລັບທັອບ ແລະສະຖານີເຮັດວຽກທີ່ເຮັດໜ້າທີ່ເທົ່ານັ້ນ
ເຊັ່ນ: ການເຮັດວຽກກັບຕາຕະລາງແລະການທ່ອງອິນເຕີເນັດ.

ຖ້າທ່ານເຄີຍໃຊ້ iostat, ທ່ານອາດຈະສົງໄສວ່າທ່ານສາມາດຊອກຫາຂໍ້ມູນດຽວກັນໄດ້ຢູ່ໃສ
ໃນ pt-diskstats. ນີ້ແມ່ນສອງຕົວຢ່າງຂອງຜົນຜະລິດຈາກເຄື່ອງມືທັງສອງຢູ່ໃນເຄື່ອງດຽວກັນຢູ່ທີ່
ໃນເວລາດຽວກັນ, ສໍາລັບ / dev / sda, ຫໍ່ໃຫ້ພໍດີ:

#ts dev rd_s rd_avkb rd_mb_s rd_mrg rd_cnc rd_rt
08:50:10 sda 0.0 0.0 0.0 0% 0.0 0.0
08:50:20 sda 0.4 4.0 0.0 0% 0.0 15.5
08:50:30 sda 2.1 4.4 0.0 0% 0.0 21.1
08:50:40 sda 2.4 4.0 0.0 0% 0.0 15.4
08:50:50 sda 0.1 4.0 0.0 0% 0.0 33.0

wr_s wr_avkb wr_mb_s wr_mrg wr_cnc wr_rt
7.7 25.5 0.2 84% 0.0 0.3
49.6 6.8 0.3 41% 2.4 28.8
210.1 5.6 1.1 28% 7.4 25.2
297.1 5.4 1.6 26% 11.4 28.3
11.9 11.7 0.1 66% 0.2 4.9

ຫວ່າງ in_prg io_s qtime stime
1% 0 7.7 0.1 0.2
6% 0 50.0 28.1 0.7
12% 0 212.2 24.8 0.4
16% 0 299.5 27.8 0.4
1% 0 12.0 4.7 0.3

Dev rrqm/s wrqm/sr/sw/s rMB/s wMB/s
08:50:10 sda 0.00 41.40 0.00 7.70 0.00 0.19.
08:50:20 sda 0.00 34.70 0.40 49.60 0.00 0.33.
08:50:30 sda 0.00 83.30 2.10 210.10 0.01 1.15.
08:50:40 sda 0.00 105.10 2.40 297.90 0.01 1.58.
08:50:50 sda 0.00 22.50 0.10 11.10 0.00 0.13.

avgrq-sz avgqu-sz ລໍຖ້າ svctm %util
51.01 0.02 2.04 1.25 0.96
13.55 2.44 48.76 1.16 5.79
11.15 7.45 35.10 0.55 11.76
10.81 11.40 37.96 0.53 15.97
24.07 0.17 15.60 0.87 0.97

ການຕອບຮັບລະຫວ່າງຄໍລໍາບໍ່ແມ່ນຫນຶ່ງຕໍ່ຫນຶ່ງ. ໂດຍ​ສະ​ເພາະ:

rrqm/s, wrqm/s
ຖັນເຫຼົ່ານີ້ຢູ່ໃນ iostat ຖືກແທນທີ່ດ້ວຍ rd_mrg ແລະ wr_mrg ໃນ pt-diskstats.

avgrq no
ຖັນນີ້ແມ່ນຢູ່ໃນຂະແຫນງຕ່າງໆໃນ iostat, ແລະເປັນການປະສົມປະສານຂອງການອ່ານແລະການຂຽນ. ໄດ້
pt-diskstats output ແຍກສິ່ງເຫຼົ່ານີ້ອອກແຍກຕ່າງຫາກແລະສະແດງໃຫ້ພວກເຂົາຢູ່ໃນ kB. ທ່ານສາມາດໄດ້ຮັບ
ມັນຜ່ານຄ່າສະເລ່ຍນໍ້າໜັກຂອງ rd_avkb ແລະ wr_avkb ໃນ pt-diskstats, ແລະຫຼັງຈາກນັ້ນຄູນດ້ວຍ.
2 ເພື່ອໃຫ້ໄດ້ຮັບຂະແຫນງການ (ແຕ່ລະຂະແຫນງການແມ່ນ 512 bytes).

avgqu no
ຖັນນີ້ສະແດງເຖິງຄວາມສອດຄ່ອງກັນຢ່າງແທ້ຈິງຢູ່ໃນຕົວກໍານົດເວລາອຸປະກອນບລັອກ. pt-
ຜົນຜະລິດຂອງ diskstats ສະແດງໃຫ້ເຫັນຄວາມສອດຄ່ອງກັນສໍາລັບການອ່ານແລະຂຽນແຍກຕ່າງຫາກ: rd_cnc ແລະ wr_cnc.

ລໍຖ້າ
ຖັນນີ້ແມ່ນເວລາຕອບສະ ໜອງ ໂດຍສະເລ່ຍຈາກຈຸດເລີ່ມຕົ້ນເຖິງຕອນທ້າຍຂອງ ຄຳ ຮ້ອງຂໍເພື່ອ
ອຸປະກອນຕັນ, ລວມທັງເວລາຄິວແລະເວລາໃຫ້ບໍລິການ, ແລະບໍ່ໄດ້ສະແດງຢູ່ໃນ pt-
diskstats. ແທນທີ່ຈະ, pt-diskstats ສະແດງເວລາຕອບໂຕ້ແຕ່ລະຄົນໃນລະດັບແຜ່ນ
ສໍາລັບການອ່ານແລະຂຽນ (rd_rt ແລະ wr_rt), ເຊັ່ນດຽວກັນກັບເວລາຄິວທຽບກັບເວລາບໍລິການສໍາລັບ
ອ່ານ​ແລະ​ຂຽນ​ລວມ​.

svctm
ຖັນນີ້ແມ່ນເວລາບໍລິການສະເລ່ຍຢູ່ທີ່ແຜ່ນ, ແລະສະແດງເປັນເວລາໃນ pt-
diskstats.

%util
ຖັນນີ້ເອີ້ນວ່າບໍ່ຫວ່າງໃນ pt-diskstats. ການນໍາໃຊ້ປົກກະຕິແລ້ວແມ່ນກໍານົດເປັນ
ສ່ວນຫນຶ່ງຂອງເວລາທີ່ມີຢ່າງຫນ້ອຍຫນຶ່ງຄໍາຮ້ອງຂໍທີ່ມີການເຄື່ອນໄຫວ, ບໍ່ແມ່ນເປັນ
ເປີເຊັນ, ຊຶ່ງເປັນເຫດຜົນທີ່ພວກເຮົາເລືອກທີ່ຈະຫຼີກເວັ້ນຄໍາສັບທີ່ສັບສົນນີ້.

ການເກັບກໍາ ຂໍ້ມູນ


ມັນເປັນເລື່ອງກົງໄປກົງມາທີ່ຈະເກັບກໍາຕົວຢ່າງຂອງຂໍ້ມູນສໍາລັບເຄື່ອງມືນີ້. ໄຟລ໌ຄວນມີອັນນີ້
ຮູບແບບ, ໂດຍມີເສັ້ນເວລາຢູ່ກ່ອນແຕ່ລະຕົວຢ່າງຂອງສະຖິຕິ:

TS
<contents of /proc/diskstats>
TS
<contents of /proc/diskstats>
... ແລະອື່ນໆ

ທ່ານພຽງແຕ່ສາມາດນໍາໃຊ້ pt-diskstats ກັບ "--save-samples" ເພື່ອເກັບກໍາຂໍ້ມູນນີ້ສໍາລັບທ່ານ. ຖ້າ
ທ່ານຕ້ອງການເກັບຕົວຢ່າງເປັນສ່ວນຫນຶ່ງຂອງເຄື່ອງມືອື່ນ, ແລະໃຊ້ pt-diskstats ເພື່ອວິເຄາະ
ພວກມັນ, ທ່ານສາມາດປະກອບມີ snippet ຂອງ shell script ເຊັ່ນ:

INTERVAL=1
ໃນຂະນະທີ່ຄວາມຈິງ; ເຮັດ
sleep=$(date +%s.%N | awk "{print $INTERVAL - (\$1 %$INTERVAL)}")
ນອນ $sleep
ວັນທີ +"TS %s.%N %F %T" >> diskstats-samples.txt
cat /proc/diskstats >> diskstats-samples.txt
ເຮັດ

ເຄີເນັດ ເອກະສານອ້າງອີງ


ເອກະສານນີ້ເພີ່ມເຕີມເອກະສານທາງການ
<http://www.kernel.org/doc/Documentation/iostats.txt> ເນື້ອໃນຂອງ /proc/diskstats.
ເອກະສານນັ້ນບາງຄັ້ງສາມາດເຂົ້າໃຈໄດ້ຍາກສໍາລັບຜູ້ທີ່ບໍ່ຄຸ້ນເຄີຍ
ກັບ Linux kernel ພາຍໃນ. ເນື້ອໃນຂອງ /proc/diskstats ແມ່ນຜະລິດໂດຍ
"diskstats_show()" ຟັງຊັນໃນໄຟລ໌ແຫຼ່ງ kernel block/genhd.c.

ນີ້ແມ່ນຕົວຢ່າງຂອງ /proc/diskstats ໃນ kernel ທີ່ຜ່ານມາ.

8 1 sda1 426 243 3386 2056 3 0 18 87 0 2135 2142 .

ພາກສະຫນາມໃນຕົວຢ່າງນີ້ແມ່ນດັ່ງຕໍ່ໄປນີ້. ສາມພາກສະຫນາມທໍາອິດແມ່ນທີ່ສໍາຄັນແລະຫນ້ອຍ
ໝາຍເລກອຸປະກອນ (8, 1), ແລະຊື່ອຸປະກອນ (sda1). ພວກເຂົາເຈົ້າໄດ້ຖືກປະຕິບັດຕາມໂດຍ 11 ພາກສະຫນາມຂອງ
ສະຖິຕິ:

1. ຈໍານວນການອ່ານສໍາເລັດ. ນີ້ແມ່ນຈໍານວນຂອງການອ່ານທາງດ້ານຮ່າງກາຍທີ່ເຮັດໂດຍ
ແຜ່ນທີ່ຕິດພັນ, ບໍ່ແມ່ນຈໍານວນການອ່ານທີ່ແອັບພລິເຄຊັນທີ່ສ້າງຂຶ້ນຈາກອຸປະກອນບລັອກ.
ນີ້ຫມາຍຄວາມວ່າ 426 ການອ່ານຕົວຈິງໄດ້ສໍາເລັດສົບຜົນສໍາເລັດໃນແຜ່ນທີ່
/ dev / sda1 ອາໄສຢູ່. ການອ່ານບໍ່ໄດ້ຖືກນັບຈົນກ່ວາພວກເຂົາສໍາເລັດ.

2. ຈໍານວນການອ່ານຖືກລວມເຂົ້າກັນເພາະວ່າພວກເຂົາຢູ່ຕິດກັນ. ໃນຕົວຢ່າງ, 243 ອ່ານແມ່ນ
ຮວມເຂົ້າກັນ. ນີ້ຫມາຍຄວາມວ່າ / dev / sda1 ຕົວຈິງແລ້ວໄດ້ຮັບ 869 ການອ່ານຢ່າງມີເຫດຜົນ, ແຕ່ສົ່ງພຽງແຕ່
426 ການອ່ານທາງດ້ານຮ່າງກາຍຕໍ່ກັບອຸປະກອນທາງດ້ານຮ່າງກາຍທີ່ຕິດພັນ.

3. ຈໍານວນຂະແຫນງການອ່ານສໍາເລັດ. ການອ່ານທາງດ້ານຮ່າງກາຍ 426 ໄປຫາແຜ່ນອ່ານ 3386
ຂະແໜງການ. ຂະແຫນງການແມ່ນ 512 bytes, ດັ່ງນັ້ນຈໍານວນທັງຫມົດປະມານ 1.65MB ໄດ້ຖືກອ່ານຈາກ
/ dev / sda1.

4. ຈໍານວນ milliseconds ທີ່ໃຊ້ເວລາອ່ານ. ນີ້ນັບພຽງແຕ່ການອ່ານທີ່ສໍາເລັດ,
ບໍ່ໄດ້ອ່ານທີ່ກໍາລັງດໍາເນີນຢູ່. ມັນນັບເວລາທີ່ໃຊ້ຈາກເວລາທີ່ຮ້ອງຂໍ
ວາງໄວ້ໃນຄິວຈົນກ່ວາພວກມັນສໍາເລັດ, ບໍ່ແມ່ນເວລາທີ່ແຜ່ນພື້ນຖານໃຊ້
ການ​ບໍ​ລິ​ການ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​. ນັ້ນແມ່ນ, ມັນວັດແທກເວລາຕອບສະຫນອງທັງຫມົດທີ່ເຫັນໂດຍ
ແອັບພລິເຄຊັນ, ບໍ່ແມ່ນເວລາຕອບສະຫນອງຂອງແຜ່ນ.

5. Ditto ສໍາລັບພາກສະຫນາມ 1, ແຕ່ສໍາລັບການຂຽນ.

6. Ditto ສໍາລັບພາກສະຫນາມ 2, ແຕ່ສໍາລັບການຂຽນ.

7. Ditto ສໍາລັບພາກສະຫນາມ 3, ແຕ່ສໍາລັບການຂຽນ.

8. Ditto ສໍາລັບພາກສະຫນາມ 4, ແຕ່ສໍາລັບການຂຽນ.

9. ຈໍານວນຂອງ I/Os ປະຈຸບັນກໍາລັງດໍາເນີນ, ນັ້ນແມ່ນ, ເຂົາເຈົ້າໄດ້ຖືກກໍານົດໂດຍແຖວ
ກໍານົດເວລາແລະອອກໃຫ້ແຜ່ນ (ສົ່ງກັບແຖວຂອງແຜ່ນທີ່ຕິດພັນ), ແຕ່ບໍ່ແມ່ນ
ສຳເລັດແລ້ວ. ມີແມງໄມ້ຢູ່ໃນບາງແກ່ນທີ່ເຮັດໃຫ້ເກີດຕົວເລກນີ້, ແລະດັ່ງນັ້ນຈຶ່ງມີຊ່ອງຂໍ້ມູນ
10 ແລະ 11, ຈະຜິດບາງຄັ້ງ.

10. ຈຳນວນທັງໝົດຂອງ milliseconds ທີ່ໃຊ້ໃນການເຮັດ I/Os. ນີ້​ແມ່ນ ບໍ່ ການ​ຕອບ​ສະ​ຫນອງ​ທັງ​ຫມົດ​
ເວລາທີ່ເຫັນໂດຍຄໍາຮ້ອງສະຫມັກ; ມັນແມ່ນຈໍານວນເວລາທັງຫມົດໃນລະຫວ່າງທີ່ຢ່າງຫນ້ອຍ
ຫນຶ່ງ I/O ກໍາລັງດໍາເນີນຢູ່. ຖ້າ I/O ຫນຶ່ງອອກໃນເວລາ 100, ອີກອັນຫນຶ່ງມາຢູ່ທີ່ 101,
ແລະທັງສອງຂອງພວກເຂົາສໍາເລັດຢູ່ທີ່ 102, ຫຼັງຈາກນັ້ນພາກສະຫນາມນີ້ເພີ່ມຂຶ້ນໂດຍ 2, ບໍ່ແມ່ນ 3.

11. ຊ່ອງຂໍ້ມູນນີ້ນັບເວລາຕອບໂຕ້ທັງໝົດຂອງ I/Os ທັງໝົດ. ກົງກັນຂ້າມກັບພາກສະຫນາມ 10, ມັນ
ນັບສອງເທົ່າເມື່ອສອງ I/Os ທັບຊ້ອນກັນ. ໃນຕົວຢ່າງທີ່ຜ່ານມາຂອງພວກເຮົາ, ພາກສະຫນາມນີ້ຈະ
ເພີ່ມ 3, ບໍ່ແມ່ນ 2.

OPTIONS


ເຄື່ອງມືນີ້ຍອມຮັບການໂຕ້ຖຽງແຖວຄໍາສັ່ງເພີ່ມເຕີມ. ອ້າງອີງເຖິງ "SYNOPSIS" ແລະການນໍາໃຊ້
ຂໍ້​ມູນ​ສໍາ​ລັບ​ລາຍ​ລະ​ອຽດ​.

--columns-regex
ປະເພດ: ຊ່ອຍແນ່; ຄ່າເລີ່ມຕົ້ນ: .

ພິມຖັນທີ່ກົງກັບ Perl regex ນີ້.

--config
ປະເພດ: Array

ອ່ານລາຍຊື່ໄຟລ໌ config ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດນີ້; ຖ້າລະບຸ, ນີ້ຈະຕ້ອງເປັນອັນທໍາອິດ
ທາງເລືອກໃນແຖວຄໍາສັ່ງ.

--devices-regex
ປະເພດ: string

ອຸປະກອນພິມທີ່ກົງກັບ Perl regex ນີ້.

--ກຸ່ມໂດຍ
ປະເພດ: ຊ່ອຍແນ່; ຄ່າເລີ່ມຕົ້ນ: ທັງໝົດ

ຮູບແບບກຸ່ມໂດຍ: ແຜ່ນ, ຕົວຢ່າງ, ຫຼືທັງຫມົດ. ໃນ ແຜ່ນ ຮູບແບບ, ແຕ່ລະເສັ້ນຜົນຜະລິດສະແດງໃຫ້ເຫັນຫນຶ່ງແຜ່ນ
ອຸປະກອນ, ດ້ວຍສະຖິຕິທີ່ຄິດໄລ່ຕັ້ງແຕ່ເຄື່ອງມືເລີ່ມຕົ້ນ. ໃນ ຕົວຢ່າງ ຮູບແບບ, ແຕ່ລະຄົນ
ເສັ້ນຜົນຜະລິດສະແດງສະຖິຕິຫນຶ່ງຕົວຢ່າງ, ໂດຍມີແຜ່ນທັງຫມົດໂດຍສະເລ່ຍຮ່ວມກັນ. ໃນ
ທັງຫມົດ ຮູບແບບ, ແຕ່ລະເສັ້ນຜົນຜະລິດສະແດງໃຫ້ເຫັນຫນຶ່ງຕົວຢ່າງແລະອຸປະກອນແຜ່ນຫນຶ່ງ.

--ສ່ວນຫົວ
ປະເພດ: Hash; ຄ່າເລີ່ມຕົ້ນ: ກຸ່ມ, ເລື່ອນ

ຖ້າ "ກຸ່ມ" ມີຢູ່, ແຕ່ລະຕົວຢ່າງຈະຖືກແຍກອອກໂດຍເສັ້ນຫວ່າງ, ເວັ້ນເສຍແຕ່ວ່າ
ຕົວຢ່າງແມ່ນເສັ້ນດຽວເທົ່ານັ້ນ. ຖ້າມີ "ເລື່ອນ", ເຄື່ອງມືຈະພິມສ່ວນຫົວເປັນ
ເລື້ອຍໆຕາມຄວາມຈໍາເປັນເພື່ອປ້ອງກັນບໍ່ໃຫ້ພວກມັນເລື່ອນອອກໄປຈາກມຸມເບິ່ງ. ໃຫ້ສັງເກດວ່າທ່ານສາມາດກົດ
ແຖບຊ່ອງ, ຫຼືປຸ່ມ enter, ເພື່ອພິມສ່ວນຫົວຄືນໃໝ່ຕາມໃຈ.

- ຊ່ວຍ
ສະແດງການຊ່ວຍເຫຼືອ ແລະອອກ.

-- ໄລຍະຫ່າງ
ປະເພດ: int; ຄ່າເລີ່ມຕົ້ນ: 1

ເມື່ອຢູ່ໃນໂໝດໂຕ້ຕອບ, ລໍຖ້າ N ວິນາທີກ່ອນທີ່ຈະພິມໃສ່ໜ້າຈໍ. ນອກຈາກນີ້, ວິທີການ
ເລື້ອຍໆເຄື່ອງມືຄວນຈະເປັນຕົວຢ່າງ /proc/diskstats.

ເຄື່ອງມືພະຍາຍາມເກັບກຳສະຖິຕິຢ່າງແນ່ນອນຢູ່ໃນຊ່ວງເວລາໂມງ. ນັ້ນ
ແມ່ນ, ຖ້າທ່ານກໍານົດໄລຍະຫ່າງ 5 ວິນາທີ, ມັນຈະພະຍາຍາມເກັບກໍາຕົວຢ່າງໃນເວລາ 12: 00: 00,
12:00:05, ແລະອື່ນໆ; ມັນຈະບໍ່ລວບລວມຢູ່ທີ່ 12: 00: 01, 12: 00: 06 ແລະອື່ນໆ.

ນີ້ສາມາດນໍາໄປສູ່ການຊັກຊ້າເລັກນ້ອຍໃນບາງສະຖານະການ, ເພາະວ່າເຄື່ອງມືລໍຖ້າຫນຶ່ງ
ຮອບວຽນເຕັມກ່ອນທີ່ຈະພິມອອກຊຸດທໍາອິດຂອງສາຍ. (ບໍ່ຄືກັບ iostat ແລະ vmstat, pt-
diskstats ບໍ່ໄດ້ເລີ່ມຕົ້ນດ້ວຍເສັ້ນສະແດງຄ່າສະເລ່ຍນັບຕັ້ງແຕ່ຄອມພິວເຕີເປັນ
booted.) ດັ່ງນັ້ນ, ກົດລະບຽບມີຂໍ້ຍົກເວັ້ນເພື່ອຫຼີກເວັ້ນການຊັກຊ້າຫຼາຍ. ສົມມຸດວ່າເຈົ້າ
ລະບຸໄລຍະຫ່າງ 10 ວິນາທີ, ແຕ່ເຈົ້າເລີ່ມເຄື່ອງມືຢູ່ທີ່ 12:00:00.01. ເຄື່ອງມືອາດຈະ
ລໍຖ້າຈົນກ່ວາ 12: 00: 20 ເພື່ອພິມຜົນຜະລິດເສັ້ນທໍາອິດ, ແລະໃນການແຊກແຊງ 19.99.
ວິນາທີ, ມັນຈະປາກົດວ່າບໍ່ໄດ້ເຮັດຫຍັງເລີຍ.

ເພື່ອບັນເທົານີ້, ເຄື່ອງມືລໍຖ້າຈົນກ່ວາໄລຍະເວລາຕໍ່ໄປຂອງເວລາທີ່ຈະລວບລວມ,
ເວັ້ນເສຍແຕ່ວ່າຫຼາຍກວ່າ 20% ຂອງໄລຍະຫ່າງນັ້ນຍັງຄົງຢູ່. ນີ້ຫມາຍຄວາມວ່າເຄື່ອງມືຈະບໍ່ລໍຖ້າ
ຫຼາຍກວ່າ 120% ຂອງໄລຍະການເກັບຕົວຢ່າງເພື່ອຜະລິດຜົນຜະລິດ, ຕົວຢ່າງ: ຖ້າທ່ານເລີ່ມຕົ້ນເຄື່ອງມື
ເວລາ 12:00:53 ພ້ອມກັບໄລຍະການເກັບຕົວຢ່າງ 10 ວິນາທີ, ຫຼັງຈາກນັ້ນຕົວຢ່າງທຳອິດຈະເປັນພຽງ 7 ເທົ່ານັ້ນ.
ວິນາທີຍາວ, ບໍ່ແມ່ນ 10 ວິນາທີ.

-- ຊ້ຳ
ປະເພດ: int

ເມື່ອຢູ່ໃນໂໝດໂຕ້ຕອບ, ຢຸດຫຼັງຈາກ N ຕົວຢ່າງ. ແລ່ນຕະຫຼອດໄປເປັນຄ່າເລີ່ມຕົ້ນ.

--ເວລາຕົວຢ່າງ
ປະເພດ: int; ຄ່າເລີ່ມຕົ້ນ: 1

ໃນ -group-by sample mode, ປະກອບມີ N ວິນາທີຂອງຕົວຢ່າງຕໍ່ກຸ່ມ.

--save-ຕົວຢ່າງ
ປະເພດ: string

ໄຟລ໌ເພື່ອບັນທຶກຕົວຢ່າງ diskstats ໃນ; ເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ສໍາລັບການວິເຄາະຕໍ່ມາ.

--show-inactive
ສະແດງອຸປະກອນທີ່ບໍ່ເຄື່ອນໄຫວ.

--show-timestamps
ສະແດງເວລາ 'HH:MM:SS' ໃນຖັນ "#ts". ຖ້າເວລາຫຼາຍ
ຮວມເຂົ້າກັນເປັນແຖວໜຶ່ງ, ເວລາທຳອິດຖືກສະແດງ.

- ການປ່ຽນແປງ
ສະແດງສະບັບແລະອອກ.

--[ບໍ່​ມີ​ການ​ກວດ​ສອບ​ສະ​ບັບ​
ຄ່າເລີ່ມຕົ້ນ: ແມ່ນແລ້ວ

ກວດເບິ່ງເວີຊັນຫຼ້າສຸດຂອງ Percona Toolkit, MySQL, ແລະໂຄງການອື່ນໆ.

ນີ້ແມ່ນມາດຕະຖານ "ກວດສອບການປັບປຸງອັດຕະໂນມັດ" ຄຸນນະສົມບັດ, ມີສອງເພີ່ມເຕີມ
ຄຸນ​ລັກ​ສະ​ນະ. ຫນ້າທໍາອິດ, ເຄື່ອງມືກວດສອບສະບັບຂອງບັນດາໂຄງການອື່ນໆໃນລະບົບທ້ອງຖິ່ນໃນ
ນອກ​ຈາກ​ສະ​ບັບ​ຂອງ​ຕົນ​ເອງ​. ຕົວຢ່າງ, ມັນກວດເບິ່ງເວີຊັນຂອງທຸກເຄື່ອງແມ່ຂ່າຍ MySQL
ມັນເຊື່ອມຕໍ່ກັບ, Perl, ແລະໂມດູນ Perl DBD::mysql. ອັນທີສອງ, ມັນກວດເບິ່ງແລະເຕືອນ
ກ່ຽວກັບສະບັບທີ່ມີບັນຫາທີ່ຮູ້ຈັກ. ຕົວຢ່າງ, MySQL 5.5.25 ມີ bug ທີ່ສໍາຄັນແລະ
ໄດ້ຖືກປ່ອຍອອກມາເມື່ອ 5.5.25a.

ການອັບເດດ ຫຼືບັນຫາທີ່ຮູ້ຈັກຈະຖືກພິມໃສ່ STDOUT ກ່ອນທີ່ເຄື່ອງມືຈະອອກມາປົກກະຕິ.
ຄຸນສົມບັດນີ້ບໍ່ຄວນລົບກວນການເຮັດວຽກປົກກະຕິຂອງເຄື່ອງມື.

ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ໄປຢ້ຽມຢາມ .

ENVIRONMENT


ຕົວແປສະພາບແວດລ້ອມ "PTDEBUG" ເປີດໃຊ້ຜົນການແກ້ບັນຫາ verbose ໄປຫາ STDERR. ເພື່ອເປີດໃຊ້ງານ
debugging ແລະເກັບກໍາຜົນຜະລິດທັງຫມົດໄປຍັງໄຟລ໌, ດໍາເນີນການເຄື່ອງມືເຊັ່ນ:

PTDEBUG=1 pt-diskstats ... > FILE 2 >&1

ຈົ່ງລະວັງ: ການດີບັ໊ກຜົນອອກແມ່ນ voluminous ແລະສາມາດສ້າງຜົນຜະລິດຫຼາຍ megabytes.

SYSTEM ສິ່ງທີ່ຕ້ອງມີ


ເຄື່ອງມືນີ້ຕ້ອງການ Perl v5.8.0 ຫຼືໃຫມ່ກວ່າແລະ / proc ລະບົບໄຟລ໌, ເວັ້ນເສຍແຕ່ວ່າອ່ານຈາກ
ໄຟລ໌.

ໃຊ້ pt-diskstatsp ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌