ในบางครั้ง เซิร์ฟเวอร์ Linux LAMP ของเรา (ที่ใช้ PHP-FPM, XFS บน thin LVM บน HW RAID, Centos8) จะไม่สามารถเข้าถึงได้และหยุดตอบสนองต่อคำขอ HTTP(S)
จากการบันทึกแบบรวมศูนย์ เราพบว่าในกรณีเหล่านั้น ค่าเฉลี่ยของโหลดจะเพิ่มขึ้นเป็นร้อยอย่างรวดเร็ว ในขณะที่กระบวนการจำนวนมากขึ้นเรื่อยๆ (systemd-journald, กระบวนการ php, เคอร์เนล xfs/dm threads...) เข้าสู่สถานะ D จากข้อมูลของ iostat และ pidstat CPU และดิสก์ไม่ได้ถูกโหลดมากนัก ในขณะที่ค่าเฉลี่ยของโหลดอยู่ที่ประมาณ 170 ซึ่งค่อนข้างแปลก จากเอาต์พุต htop/ps ไม่มีกระบวนการอันธพาลกลุ่มเดียวหรือกลุ่มเดียวที่จะอธิบายพฤติกรรมนี้ได้ เป็นเพียงกระบวนการมาตรฐานที่ดูเหมือนจะพบกับ "สิ่งกีดขวาง" บางอย่าง
สิ่งที่แปลกเพียงอย่างเดียวของการตรวจสอบดิสก์คือในระหว่างเหตุการณ์โอเวอร์โหลดเหล่านั้น iostat รายงาน w_await ค่อนข้างสูงเป็นระยะสำหรับพาร์ติชัน /var (2500-5000ms ในขณะที่พาร์ติชันอื่นๆ เช่น /var/log, /var/lib/mysql ส่วนใหญ่ไม่ผ่าน 10ms). พาร์ติชันนี้ควรเงียบเป็นส่วนใหญ่ ดังนั้นจึงไม่ชัดเจนว่าทำไม iostat จึงรายงาน w_await ครั้งใหญ่ที่นั่น
ทางออกเดียวคือเปิดวงจรเซิร์ฟเวอร์
สิ่งนี้เกิดขึ้นในสองเซิร์ฟเวอร์ที่เป็นประเภทเดียวกัน ไม่เคยเกิดขึ้นบนเซิร์ฟเวอร์อื่น ดูเหมือนว่าจะเป็นความผิดปกติของ FS/block layer/controller/disk กระบวนการจำนวนมากเริ่มรอดิสก์หรืออย่างอื่นในเคอร์เนลอย่างกระทันหัน แต่จากข้อมูลของ iotop/iostat ดิสก์ไม่ได้ทำอะไรมาก
มีวิธีการสืบค้น Linux kernel FS/block layer/controller driver ว่าพวกเขากำลังทำอะไรกับที่เก็บข้อมูลและในนามของกระบวนการใด เครื่องมือมาตรฐานเช่น iotop/iostat บอกฉันเฉพาะชื่อกระบวนการที่แอ็คทีฟของ I/O และกิจกรรมของพาร์ติชันดิสก์ แต่ไม่รู้ว่ากระบวนการใดเข้าถึงพาร์ติชันดิสก์ใดและสิ่งที่พวกเขากำลังทำอยู่