ນີ້ແມ່ນຄໍາສັ່ງ 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