Score:0

Apache พร้อม PHP FPM และคำขอพุ่งสูง จะตั้งค่าคอนฟิกูเรชันที่เหมาะสมได้อย่างไร?

ธง vu

ฉันโชคดีพอที่เว็บไซต์ของฉันแพร่ระบาด และแน่นอนว่าเซิร์ฟเวอร์ไม่พร้อมสำหรับมัน

น่าเสียดายที่การตั้งค่าของฉันค่อนข้างแย่ เซิร์ฟเวอร์เดียวที่มี Apache, PHP (Laravel), Mongodb และ redis

แบ็กเอนด์ (laravel) ส่วนใหญ่ให้บริการ REST API ขณะนี้ฉันมีผู้ใช้พร้อมกันมากกว่า 1,000 รายที่พยายามใช้เว็บไซต์ และทุกอย่างโหลดช้ามาก MongoDB ดูเหมือนว่าจะทำงานได้ดี เนื่องจากฉันสามารถเข้าถึงได้ผ่านเทอร์มินัลและการสืบค้นจะได้รับการแก้ไขในทันที สิ่งที่ฉันกังวลคือการกำหนดค่า Apache/PHP FPM

เซิร์ฟเวอร์ของฉัน: 8 คอร์, 16GB RAM

ฉันพยายามเล่นกับการกำหนดค่า PHP FPM แต่ก็ไม่ได้ปรับปรุงมากนัก สำหรับตอนนี้ฉันมีมันอยู่ คงที่ กับ 300 max_children.

ใน Apache ฉันใช้เหตุการณ์ MPM กับการกำหนดค่านี้:

<IfModule mpm_event_module>
ServerLimit 40
    StartServers             2
    MinSpareThreads      50
    MaxSpareThreads      100
    ThreadLimit          64
    ThreadsPerChild      50
    MaxRequestWorkers     1000
    MaxConnectionsPerChild   0
</IfModule>

โดยใช้ สูงสุด ฉันมีสิ่งนี้ซึ่งดูดีสำหรับฉัน: ป้อนคำอธิบายรูปภาพที่นี่

ใครสามารถชี้ฉันไปในทิศทางที่ถูกต้อง?

np flag
คุณใช้ OPcache สำหรับ PHP หรือไม่ คุณยังสามารถลองย้ายไปยัง nginx หรือ OpenLiteSpeed ตามความคิดเห็น แต่ถึงกระนั้นก็ปรับขนาดได้ดีกว่ามากสำหรับการโหลดสูง
vu flag
ฉันไม่ได้ใช้ OPCache มันจะมีประโยชน์หรือไม่แม้ว่า PHP จะให้บริการ API เพียงอย่างเดียว ฉันมี mongo เป็น DB และชั้นแคช redis สำหรับ nginx และ OPS ฉันกำลังมองหาวิธีแก้ปัญหาระยะสั้นแทนที่จะย้ายทุกอย่าง แต่ก็ขอบคุณสำหรับคำแนะนำ
np flag
Laravel เป็นเฟรมเวิร์กที่ค่อนข้างล้ำหน้า และ OPCache สามารถปรับปรุงเวลาในการดำเนินการได้จริงๆ การใช้งาน CPU ของคุณค่อนข้างใกล้เคียงกับ 100% และส่วนใหญ่ใช้โดยกระบวนการ apache แต่ก็ยังมีคนทำงาน php-fpm จำนวนมากอยู่ที่นั่น มันค่อนข้างง่ายในการติดตั้งและกำหนดค่า ดังนั้นฉันคิดว่ามันคุ้มค่าที่จะลอง ฉันไม่เห็นการรอ i/o ดังนั้นคอขวดควรอยู่ในการประมวลผลของ CPU
vu flag
จะลองดู! เพื่อทดสอบ ฉันพยายามอัปเกรดเซิร์ฟเวอร์เป็น 32 คอร์และแรม 192GB เพื่อให้แน่ใจ ด้วยการเปลี่ยนแปลงการกำหนดค่าเล็กน้อยฉันเข้าถึงผู้ใช้พร้อมกัน 1,500 คนจากนั้นเว็บไซต์ก็เริ่มช้าลงโดยใช้เพียง 30GB จาก 192GB แปลก
np flag
พูดตามตรง ฉันไม่มีประสบการณ์ใดๆ กับพนักงาน Apache MPM รุ่นใหม่ เช่น เหตุการณ์ที่หนึ่ง ดังนั้นจะไม่คาดเดาที่นี่ แต่ด้วยเวอร์ชันเก่าและงานอื่น ๆ มันช้าเสมอสำหรับการโหลดที่สำคัญสำหรับฉัน ฉันเลือก nginx เสมอหากคาดว่าจะมีการโหลดจำนวนมาก หลังจากลองใช้ OLS แล้ว ฉันมักจะพยายามใช้มันต่อไป มันมีปัญหาของตัวเอง แต่ประสิทธิภาพที่ชาญฉลาดมันเป็นซอฟต์แวร์ที่ยอดเยี่ยมจริงๆ และฉันชอบที่มันสามารถแยกวิเคราะห์กฎการเขียนซ้ำสไตล์ apache .htaccess (น่าเสียดายสำหรับ mod_rewrite เท่านั้น แต่โดยปกติก็เพียงพอแล้ว)

โพสต์คำตอบ

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