ฉันใช้งานเว็บไซต์ที่มีปริมาณการใช้งานเนื้อหาแบบไดนามิกจำนวนมากซึ่งส่วนใหญ่สร้างโดยผู้ใช้
เซิร์ฟเวอร์เป็นเซิร์ฟเวอร์เฉพาะและมีซีพียู Intel (R) Xeon (R) X3210 @ 2.13GHz จำนวน 4 ตัว ฉันจำเป็นต้องรู้ถึงคุณค่าที่ดีที่สุดสำหรับคำสั่ง ServerLimit และ MaxClients ของ apache เนื่องจากเซิร์ฟเวอร์มี RAM 4GB และฐานข้อมูล MySQL ทำงานบนเซิร์ฟเวอร์แยกต่างหาก พาเนลคือ DirectAdmin พร้อม CentOS
ด้านล่างเป็นคำสั่งปัจจุบันของฉัน แต่ในช่วงชั่วโมงเร่งด่วนที่มีผู้ใช้มากกว่า 5k ความล่าช้าที่สำคัญถูกสังเกตเห็น - และมันไม่ใช่ความผิดทั้งหมดของ MySQL เพราะหน้าดูเหมือนจะสร้างขึ้นอย่างรวดเร็ว (ฉันใช้ตัวนับเวลาในการสร้างหน้าเว็บ) ความล่าช้าในการเชื่อมต่อจนกระทั่งเพจเริ่มตอบสนองและถูกส่งไปยังเบราว์เซอร์
<IfModule prefork.c>
StartServers 800
MinSpareServers 20
MaxSpareServers 60
ServerLimit 900
MaxClients 900
MaxRequestsPerChild 2000
</IfModule>
Timeout 90
KeepAlive On
KeepAliveTimeout 5
ฉันควรพูดถึงว่าการตรวจสอบเซิร์ฟเวอร์โดยใช้คำสั่ง top การใช้งาน CPU จะไม่เกินกว่า 20% ~ 30% ในชั่วโมงเร่งด่วน เซิร์ฟเวอร์ MySQL นั้นมีการใช้งาน 30 ~ 50% ในเวลานั้นและฉันกำลังทำงานอย่างต่อเนื่องเพื่อแก้ไขข้อความค้นหาที่ช้า แต่นั่นเป็นปัญหาที่แตกต่าง ฉันรู้ว่าไม่ใช่คอขวด DB เพราะหน้าเว็บแบบสแตติกใช้เวลาโหลดนานในชั่วโมงเร่งด่วน
คำแนะนำใด ๆ เพื่อเพิ่มประสิทธิภาพค่าเหล่านี้จะได้รับการชื่นชมอย่างมากขอบคุณ