วิธีการระบุหนาเขียนบนดิสก์?


9

ฉันมีปัญหานี้กับเซิร์ฟเวอร์ที่ใช้แอปพลิเคชัน CakePHP เซิร์ฟเวอร์ช้าเมามันฉันแรกคิดว่ามันเป็นปัญหาของแอปพลิเคชัน แต่จากนั้นฉันพบการเขียนลงดิสก์อย่างต่อเนื่อง 5-6MB / s

วิธีที่ง่ายที่สุดในการค้นหาสาเหตุของการเขียนหนักคืออะไร?

เซิร์ฟเวอร์กำลังเรียกใช้ Gentoo

คำตอบ:



17

ในฐานะผู้เขียน Dstat ฉันจะชี้ไปที่ตัวเลือกเพิ่มเติม คุณสามารถดูว่ากระบวนการใดใช้แบนด์วิดท์ I / O มากที่สุด:

dstat -ta --top-bio

หรือ dstat -ta --top-io

สิ่งแรกคือบล็อก I / O อันดับแรกและอันดับที่สองคือ I / O สูงสุด (รวมถึงแคช) สิ่งนี้อาจช่วยให้คุณตรวจสอบความถูกต้องหากเป็นสิ่งที่คุณคาดหวัง (ทั้งในฐานะผู้บริโภคและการบริโภค)

มีปลั๊กอินอื่น ๆ ที่สามารถช่วยคุณระบุอัตราการใช้ดิสก์:

dstat -tdf --disk-util

ดังนั้นหากคุณมีคอขวด I / O สิ่งนี้จะบอกคุณว่ามีส่วนเกี่ยวข้องกับดิสก์ใดดังนั้นคุณสามารถดูว่ามีบางสิ่งที่สามารถทำได้ในตอนนั้น

และหากคุณแก้ไขปัญหาเฉพาะระบบไฟล์ (เครือข่าย) คุณสามารถใช้ปลั๊กอินอื่นเพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับระบบไฟล์เหล่านั้น Dstat ยังมีปลั๊กอินสำหรับตัวชี้วัดอื่น ๆ (cpu, VM, การจำลองเสมือน ฯลฯ ) และขึ้นอยู่กับสิ่งที่คุณต้องการเห็นภาพคุณสามารถเขียนปลั๊กอินของคุณเองหรือปรับเปลี่ยนปลั๊กอินที่มีอยู่เพื่อแสดงสิ่งที่คุณต้องการเชื่อมโยง

อย่างไรก็ตามหากคุณต้องการความช่วยเหลือต้องการมีส่วนร่วมหรือมีความคิดใหม่ที่ดีติดต่อฉันเพื่อดูว่าเราสามารถดำเนินการต่อ ...



3

จาก dstat man page - 'dstat -M time, cpu, net, ดิสก์, sys, load, proc, topcpu' dstat ติดตั้งมาพร้อมกับดิสทริบิวชันส่วนใหญ่ดังนั้นจึงเร็วกว่าแล้วจึงติดตั้งไอโซโทป


3

ลอง vmstat และ iostat


1

คุณสามารถดัมพ์กิจกรรมของดิสก์ (พร้อมกับ pid ที่สร้างมัน) ใน syslog ด้วยคำสั่งต่อไปนี้:

echo 1 > /proc/sys/vm/block_dump

ก่อนที่จะออกสิ่งนี้ตรวจสอบให้แน่ใจว่าระบบของคุณไม่ได้อยู่ในอุปกรณ์บล็อกมิฉะนั้นคุณจะสิ้นสุดด้วยการวนซ้ำไม่สิ้นสุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.