Apache 2 กำลังทำอะไรอยู่


3

ฉันใช้ Apache 2.2.17 บน Ubuntu - Apache ดูเหมือนว่าจะครอบครอง CPU 100% ฉันจะรู้ได้อย่างไรว่า Apache กำลังยุ่งอะไรที่ทำให้เกิดการใช้งาน CPU สูงเช่นนี้?

ฉันควรใช้เครื่องมือติดตามสแต็กหรือไม่ หรืออาจมีปลั๊กอิน Apache บางตัวที่สามารถถ่ายโอนข้อมูลสถานะภายในได้

คำตอบ:


2

ตรวจสอบล็อกการเข้าถึงและไฟล์บันทึกข้อผิดพลาด (ตำแหน่งถูกกำหนดไว้ในไฟล์ "httpd.conf") สำหรับกิจกรรมมากมาย (รายการใหม่ล่าสุดอยู่ท้ายไฟล์ - ใช้ "tail -f access.log" เพื่อดูรายการสด )

หากไม่มีกิจกรรมใดปรากฏขึ้นในไฟล์บันทึกของคุณอาจเป็นไปได้ว่ารหัสบางอย่างที่ติดอยู่ในการวนซ้ำไม่รู้จบ การรีสตาร์ท Apache HTTPd จะแก้ไขปัญหานั้นชั่วคราว แต่คุณจะต้องตรวจสอบรหัสที่กำหนดเอง (คุณใช้ mod_perl2, CGI Perl, PHP หรืออย่างอื่นใช่หรือไม่) โดยเฉพาะอย่างยิ่งรหัสที่ถูกแก้ไข / เพิ่มหลังจากคุณเชื่อว่าอาการนี้เริ่มปรากฏขึ้น .

โมดูล "สถานะเซิร์ฟเวอร์" (ซึ่งควรรวมอยู่ในบิลด์เริ่มต้น) อาจให้ข้อมูลเชิงลึกเช่นกัน

หากการรีสตาร์ทผลลัพธ์ในกิจกรรม 100% อีกครั้งคุณอาจมีรหัสบางอย่างที่โหลดด้วย Apache HTTPd ที่ทำให้เกิดปัญหาหรือหนึ่งในโมดูล

คุณกำลังทำสิ่งที่ซับซ้อนกับการกำหนดค่าหรือไม่? คุณใช้ mod_perl2, CGI Perl, PHP หรืออย่างอื่นอยู่หรือเปล่า? คุณใช้ Apache HTTPd เวอร์ชันใดอยู่ คุณใช้ระบบปฏิบัติการใดอยู่ (ฉันถือว่า Unix หรือ Linux เนื่องจากระบบปฏิบัติการเหล่านี้เหมาะสมกว่าที่จะเป็นเว็บเซิร์ฟเวอร์และเป็นสิ่งที่คนส่วนใหญ่เลือกใช้)


1
มีกิจกรรมมากมายในไฟล์บันทึก แต่ระยะเวลาไม่แสดงดังนั้นฉันไม่สามารถวัดได้ว่าหน้าใดทำให้เกิดปัญหา และใช่ฉันใช้ mod_perl, mod_rewrite, mod_python ฯลฯserver-statusเป็นอย่างมากมีประโยชน์มาก แต่ฉันไม่สามารถรับ URL ที่ใช้เวลานานที่สุด 10 อันดับในหน้าสถานะ แต่มันมีประโยชน์มาก
XièJìléi

1
ฉันเป็นแฟนตัวยงของ mod_perl2 และฉันยินดีที่จะพบกับนักพัฒนา ModPerl คนอื่น ๆ (เราไม่พบปัญหามากนักดังนั้นเราจึงมักจะเป็นชุมชนที่ค่อนข้างเงียบ - คุณอาจสนใจperl.apache .org / maillist / modperl.html ) บันทึกจะไม่แสดงว่ากระบวนการใช้เวลานานแค่ไหนในการดำเนินการ แต่จะช่วยให้คุณจำกัดความผิดที่อาจเกิดขึ้นได้ คุณสามารถระบุได้ว่าเวลาที่การใช้งาน CPU 100% เพิ่มขึ้นหรือไม่ ถ้าเป็นเช่นนั้นคุณสามารถดูเวลาที่เริ่มต้นได้อย่างง่ายดาย (หากเกิดขึ้นทันทีอาจเป็นโมดูลซึ่งรวมถึงโมดูลที่กำหนดเอง mod_perl2 ในขณะโหลด)
Randolf Richardson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.