ฉันมีปัญหาด้านประสิทธิภาพในไซต์ที่เราสร้างขึ้นและฉันไม่แน่ใจว่าจะเริ่มวินิจฉัยได้อย่างไร
คำอธิบายสั้น ๆ คือ: เรามีเว็บไซต์ขนาดเล็กมาก ( http://hearablog.com ) ที่มีปริมาณการใช้งานน้อยมากในเซิร์ฟเวอร์เฉพาะเส็งเคร็ง CPU มักจะสูงมากบางครั้งมันก็อยู่ที่ 100% นานหลายนาทีและ w3wp.exe ใช้เวลาส่วนใหญ่ไป สถานการณ์ทั่วไปคือ w3wp.exe ใช้เวลา 60% และ SQL Server ใช้เวลาประมาณ 30% ฐานข้อมูลของเราก็ค่อนข้างเล็กเช่นกัน
คำอธิบายยาวและรายละเอียดเพิ่มเติม:
ไซต์นี้โฮสต์ในเซิร์ฟเวอร์ที่เส็งเคร็งมากโดย Cari.Net จากจุดเริ่มต้นเรามีความรู้สึกว่าเซิร์ฟเวอร์ไม่ได้ทำงานอย่างถูกต้องเหมือนบางสิ่งอาจใช้เวลานานเกินไปดังนั้นนี่อาจเป็นปัญหาการกำหนดค่าตั้งแต่เริ่มต้น มันอาจจะยังเป็นไปได้ว่าเราจะได้รับเซิร์ฟเวอร์เสมือนในขณะที่เราควรจะมีเฉพาะหนึ่งแม้ว่าเราจะมีหลักฐานที่แสดงว่าต้องการบ่งชี้นี้ไม่มียกเว้นความจริงที่ว่าเซิร์ฟเวอร์มีแนวโน้มที่จะค่อนข้างช้า
เซิร์ฟเวอร์คือ Windows 2008 Standard 64 บิตพร้อม SQL 2008 Express
ฮาร์ดแวร์คือ Celeron 2.80 GHz, 1Gb RAM
เว็บไซต์ได้รับการพัฒนาใน ASP.Net MVC โดยใช้ Entity Framework สำหรับการเข้าถึงข้อมูล
ตอนนี้มันเป็นฮาร์ดแวร์เส็งเคร็ง แต่ฉันมีเซิร์ฟเวอร์อื่น ๆ ที่มีคนเหล่านี้ที่มี HW (หรือแย่กว่า) HW และประสิทธิภาพการทำงานดีกว่านี้มาก ที่กล่าวว่าเซิร์ฟเวอร์อื่น ๆ มี W2003 และ SQL2005 และฉันใช้ ASP.Net "WebForms" 2.0 ไม่มี MVC ไม่มี LINQ ไม่มี EF; ดังนั้นฉันไม่แน่ใจว่าจะไป 2008 / สิ่งอื่น ๆ หมายถึงการลงโทษประสิทธิภาพที่ยิ่งใหญ่คาดว่า
ฉันให้บริการไฟล์ MP3 (5-20 Mb) เป็นประจำซึ่งเป็นภาระที่ผิดปกติเล็กน้อยอาจเป็นสาเหตุของปัญหาบางอย่าง?
นั่นจะทำให้ w3wp ใช้ CPU มากหรือไม่การใช้งานดิสก์ดูเหมือนต่ำมาก หน่วยความจำมักจะอยู่ที่ประมาณ 90% แต่ดูเหมือนว่าการใช้ดิสก์จะบ่งบอกว่ามันไม่ได้เพจมากนัก
ฉันได้รับตันของ e-mail ทุกวันเกี่ยวกับการหมดเวลา SQL สำหรับคำสั่งการมานานกว่า 30 วินาทีแม้ว่าคำสั่งทั้งหมดของเรามีตรงไปตรงสวย (หรือควรจะเป็น แต่ EF อาจจะคาดคั้นมันขึ้นไป)
นี่คือการตรวจสอบทรัพยากรที่ดูเหมือนว่าในหนึ่งใน "sprints" ของ CPU 100% ในกรณีที่มีสิ่งใดที่มีประโยชน์
และภาพรวมของเคาน์เตอร์วัดประสิทธิภาพ:
ตอนนี้สิ่งที่ทำให้ฉันสับสนมากคือการใช้งาน CPU ของ w3wp นั้นสูงมาก มันไม่ควรทำอะไรมาก ... ดังนั้นคำถามของฉันคือ ...
- มีวิธีใดในการค้นหาว่า "กำลังทำอะไร" อยู่? บางทีอาจจะเป็นโปรไฟล์หรือไม่
- เคาน์เตอร์การแสดงใด ๆ ที่ฉันควรจะดู
- นี่เป็นสิ่งที่คาดหวังจากการกำหนดค่าฮาร์ดแวร์ / ซอฟต์แวร์นี้หรือไม่
- นี่อาจเป็นสาเหตุของความล้มเหลวในการตั้งค่าบางอย่างคุณจะเริ่มมองหาที่ไหน?
ขอบคุณมาก.
Daniel Magliola