Score:0

เวลาตอบสนองช้าเมื่อเซิร์ฟเวอร์ไม่ได้ใช้งาน เวลาตอบสนองเร็วเมื่อเซิร์ฟเวอร์โหลด?

ธง dk

ฉันใช้เซิร์ฟเวอร์ 40 เธรด / 125GB RAM

เซิร์ฟเวอร์ใช้ CentOS 7

ฉันสังเกตเห็นว่าเวลาตอบสนองของเซิร์ฟเวอร์สูงขึ้นเมื่อเซิร์ฟเวอร์ไม่ได้ใช้งาน:

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถดูได้จากภาพหน้าจอที่นี่ว่าการตอบกลับของเซิร์ฟเวอร์ระหว่าง 16.00 น. ถึง 22.00 น. นั้นต่ำกว่าช่วงเวลาอื่น

ฉันดูที่บันทึกและ GoogleBot กำลังโจมตีเราที่ 4 คำขอ/วินาทีในขณะนั้น ซึ่งโหลดขึ้นเซิร์ฟเวอร์ คำขอส่วนใหญ่จาก GoogleBot คือการเปลี่ยนเส้นทาง 302 รายการ (แคตตาล็อกอีคอมเมิร์ซขนาดใหญ่ที่มีการเปลี่ยนแปลงรายวันในผลิตภัณฑ์สด)

ป้อนคำอธิบายรูปภาพที่นี่

ที่นี่ คุณสามารถดูทรูพุตของเซิร์ฟเวอร์ - ในช่วงเวลาที่เซิร์ฟเวอร์ไม่ว่าง นั่นคือเวลาที่ตอบสนองต่ำ

ฉันจะแก้ปัญหานี้ได้อย่างไร

อะไรทำให้เกิดสิ่งนี้

การเปลี่ยนเส้นทาง 302 อาจถูกกว่าการตอบกลับ 200 ครั้งซึ่งบิดเบือนข้อมูลหรือไม่

แคช (Redis / Opcache / APCu) อาจถูกอพยพเร็วเกินไป ซึ่งทำให้เกิดการเพิ่มแคชในช่วงเวลาที่ไม่ได้ใช้งานหรือไม่

เรากำลังดำเนินการ: อาปาเช่ 2.4 พร็อกซี Nginx มายเอสคิวแอล เรดิส ปิดแคช เอ.พี.ยู การค้นหาแบบยืดหยุ่น

อัปเดต:

ดูที่กระบวนการที่แยกจากกัน PHP ใช้เวลามากที่สุด:

ป้อนคำอธิบายรูปภาพที่นี่

MySQL ค่อนข้างสัมพันธ์กับ PHP แต่ไม่สมบูรณ์:

ป้อนคำอธิบายรูปภาพที่นี่

djdomi avatar
za flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [คุณช่วยฉันวางแผนความจุได้ไหม](https://serverfault.com/questions/384686/can-you-help-me-with-my-capacity-planning)
dk flag
@djdomi นี่ไม่ใช่คำถามเกี่ยวกับความจุ - เป็นคำถามว่าทำไมเมื่อเซิร์ฟเวอร์ไม่ได้ใช้งาน เวลาตอบสนองจึงสูงกว่าเมื่อโหลดเซิร์ฟเวอร์ อาจมีการตั้งค่าเฉพาะใดๆ ที่ฉันควรใช้เพื่อลดเวลาตอบสนองเมื่อเซิร์ฟเวอร์ไม่ได้ใช้งานหรือไม่ ฉันคุยกับพนักงานเซิร์ฟเวอร์ของฉันและเขาบอกว่าอาจเป็นเพราะคำขอ 302 นั้นถูกกว่า 200 ดังนั้นจึงสามารถตีความข้อมูลผิดพลาดได้เนื่องจากคำขอ 302 ราคาถูก
Hagen von Eitzen avatar
cn flag
สาเหตุน่าจะเป็นดังนี้: ในสถานะไม่ว่าง ส่วนที่สำคัญที่สุดจะถูกแคชไว้ใน RAM จากคำขอก่อนหน้านี้แล้ว (ไดเร็กทอรี, ไฟล์สแตติก, php skripts, อาจเป็นแม้แต่ PHP bytecode และแม้แต่แบบสอบถาม SQL) ในขณะที่ทุกคำขอไม่ได้ใช้งาน อาจต้องโหลดเกือบทุกอย่างจากดิสก์ในกรณีที่ *เซิร์ฟเวอร์* ทั้งหมดของคุณเป็น VM อาจใช้เวลาเล็กน้อยในการรับทรัพยากรเช่นกัน
dk flag
@HagenvonEitzen อืม แต่คุณสามารถเห็นได้จากกราฟ มันไม่เหมือนกับว่ามีเวลาจำนวนมากที่ผ่านไประหว่างสถานะแปลก ๆ ของเวลาตอบสนองต่ำและสูง ฉันคิดว่ากราฟจะราบรื่นขึ้นมากระหว่างการเปลี่ยนภาพ เซิร์ฟเวอร์ติดตั้งไดรฟ์ NVME และไม่ถูกยับยั้งโดยสิ่งเหล่านั้น (3500MB/s) ข้อมูลส่วนใหญ่อยู่ใน RAM แล้ว และเราใช้ประมาณ 70GB จาก 125GB เท่านั้น
dk flag
FYI นี่คือระบบแบร์เมทัลที่มีไดรฟ์ NVME, RAM 125 GB, 2xCPUs / 40 เธรด

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา