ฉันใช้เซิร์ฟเวอร์ 40 เธรด / 125GB RAM
เซิร์ฟเวอร์ใช้ CentOS 7
ฉันสังเกตเห็นว่าเวลาตอบสนองของเซิร์ฟเวอร์สูงขึ้นเมื่อเซิร์ฟเวอร์ไม่ได้ใช้งาน:
คุณสามารถดูได้จากภาพหน้าจอที่นี่ว่าการตอบกลับของเซิร์ฟเวอร์ระหว่าง 16.00 น. ถึง 22.00 น. นั้นต่ำกว่าช่วงเวลาอื่น
ฉันดูที่บันทึกและ GoogleBot กำลังโจมตีเราที่ 4 คำขอ/วินาทีในขณะนั้น ซึ่งโหลดขึ้นเซิร์ฟเวอร์ คำขอส่วนใหญ่จาก GoogleBot คือการเปลี่ยนเส้นทาง 302 รายการ (แคตตาล็อกอีคอมเมิร์ซขนาดใหญ่ที่มีการเปลี่ยนแปลงรายวันในผลิตภัณฑ์สด)
ที่นี่ คุณสามารถดูทรูพุตของเซิร์ฟเวอร์ - ในช่วงเวลาที่เซิร์ฟเวอร์ไม่ว่าง นั่นคือเวลาที่ตอบสนองต่ำ
ฉันจะแก้ปัญหานี้ได้อย่างไร
อะไรทำให้เกิดสิ่งนี้
การเปลี่ยนเส้นทาง 302 อาจถูกกว่าการตอบกลับ 200 ครั้งซึ่งบิดเบือนข้อมูลหรือไม่
แคช (Redis / Opcache / APCu) อาจถูกอพยพเร็วเกินไป ซึ่งทำให้เกิดการเพิ่มแคชในช่วงเวลาที่ไม่ได้ใช้งานหรือไม่
เรากำลังดำเนินการ:
อาปาเช่ 2.4
พร็อกซี Nginx
มายเอสคิวแอล
เรดิส
ปิดแคช
เอ.พี.ยู
การค้นหาแบบยืดหยุ่น
อัปเดต:
ดูที่กระบวนการที่แยกจากกัน PHP ใช้เวลามากที่สุด:
MySQL ค่อนข้างสัมพันธ์กับ PHP แต่ไม่สมบูรณ์: