Score:0

เซิร์ฟเวอร์ Apache ช้ามากสำหรับการรับส่งข้อมูลสูง

ธง sa

ฉันใช้ Apache 2 บนอินสแตนซ์ AWS ec2 ฉันมี Application Load Balancer ที่มี 2 อินสแตนซ์/เซิร์ฟเวอร์แนบมาด้วย อินสแตนซ์แต่ละประเภทคือ m5.8XLarge

แอปพลิเคชันของฉันพัฒนาใน Laravel ฉันใช้ RDS

ฉันมีผู้เข้าชม 300,000 คนต่อวัน และ 10,000 คนต่อครั้ง เว็บไซต์ของฉันช้ามากและเวลาตอบสนองของเซิร์ฟเวอร์เริ่มต้นสูงมากถึง 8 วินาที

หมายเหตุ: ฉันไม่สามารถใช้การเรียกอัตโนมัติได้เนื่องจากเนื้อหาของฉันเป็นแบบไดนามิกและเปลี่ยนแปลงบ่อย การปรับขนาดอัตโนมัติกำลังใช้ IMG แบบเก่า

ฉันมีการตั้งค่าพิเศษด้านล่างในไฟล์ httpd.conf

 MaxKeepAliveRequests 500
 เปิด Keepalive
 KeepAliveTimeout 5
 ชื่อโฮสต์ปิดการค้นหา

<ifModule prefork.c>
  สตาร์ทเซิร์ฟเวอร์ 5
  เซิร์ฟเวอร์ MinSpare 20
  MaxSpareเซิร์ฟเวอร์ 40
  ลูกค้าสูงสุด 200
  MaxRequestsPerChild 4000
</หากโมดูล>

ฉันจะปรับปรุงความเร็วเซิร์ฟเวอร์และอนุญาตให้ apache จัดการโหลด/ผู้เยี่ยมชมได้อย่างไร

vidarlo avatar
ar flag
คอขวดของคุณคืออะไร? ฐานข้อมูล Apache หรือเวลาประมวลผลสำหรับแอปพลิเคชันของคุณ?
Muhammad Shafiq avatar
sa flag
เวลาตอบสนองของเซิร์ฟเวอร์ Apache บวกกับเวลาในการประมวลผล เซิร์ฟเวอร์ใช้เวลามากเกินไปในการตอบสนองผู้ใช้
vidarlo avatar
ar flag
ใช่ นั่นคือผลลัพธ์สุดท้าย แต่คุณรู้หรือไม่ว่าเวลานี้สร้างขึ้นได้อย่างไร? กำลังรอฐานข้อมูล กำลังประมวลผลแอปพลิเคชันของคุณ หรือกำลังอ่านจากดิสก์อยู่หรือเปล่า
Tim avatar
gp flag
Tim
คุณต้องใช้เวลาในการพิจารณาว่าขีดจำกัดคืออะไรคุณยังต้องใช้โมเดลระบบคลาวด์สำหรับการปรับใช้ เช่น การวางรูปภาพที่แบ่งปันของคุณบน EFS แทนที่จะวางบนเซิร์ฟเวอร์ เซิร์ฟเวอร์ในระบบคลาวด์ควรได้รับการพิจารณาว่าเป็นชั่วคราว (ชั่วคราว) และสามารถเปลี่ยนได้ตลอดเวลา วิธีนี้ทำให้คุณสามารถขยายขนาดขึ้นและลงได้ง่ายขึ้น การปรับขนาดด้วยเซิร์ฟเวอร์ขนาดเล็กที่ถูกกว่าช่วยลดต้นทุนเมื่อโหลดต่ำและช่วยหลีกเลี่ยงปัญหาคอขวดในเซิร์ฟเวอร์เดียว
Muhammad Shafiq avatar
sa flag
ฉันใช้ S3 & CloudFront เป็น CDN สำหรับรูปภาพและไฟล์ ในหน้าแรกไม่มีการเชื่อมต่อกับฐานข้อมูล สิ่งเดียวที่จะตรวจสอบว่ามีแอปพลิเคชัน Apache และ laravel หรือไม่ คุณแนะนำให้แปลง apache mpm เป็นคนงานหรือไม่?
Score:0
ธง cn

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

ถ้าไม่ คุณสามารถปรับขนาดในแนวตั้งได้โดยใช้อินสแตนซ์ EC2 ที่ใหญ่ขึ้นคุณไม่ได้บอกว่าคุณกำลังใช้อินสแตนซ์ใดอยู่ ดังนั้นฉันจึงไม่สามารถให้คำแนะนำใดๆ ได้

Muhammad Shafiq avatar
sa flag
ฉันเพิ่มคำอธิบายเพิ่มเติมสำหรับคำถาม ฉันไม่สามารถใช้การปรับขนาดอัตโนมัติได้เนื่องจากเนื้อหาของฉันเป็นแบบไดนามิกและเปลี่ยนแปลงบ่อย การปรับขนาดอัตโนมัติกำลังใช้ IMAG แบบเก่า ฉันกำลังใช้เซิร์ฟเวอร์ 2 เซิร์ฟเวอร์ของประเภท m5.8xlarge ec2
Muhammad Shafiq avatar
sa flag
คุณแนะนำให้ฉันเปลี่ยน apache เป็น mpm_worker_module หรือไม่ และควรตั้งค่าใดที่เป็นไปได้สำหรับสิ่งนั้น
cn flag
ฉันไม่เข้าใจว่าทำไม "เนื้อหาของฉันเป็นแบบไดนามิกและเปลี่ยนแปลงบ่อย" คุณหยุดปรับขนาดอัตโนมัติ
Muhammad Shafiq avatar
sa flag
AWS Auto Scaling ใช้อิมเมจอินสแตนซ์เพื่อเปิดใช้งานอินสแตนซ์ใหม่ รูปภาพนั้นจะมีเนื้อหาเก่า ดังนั้นอินสแตนซ์ที่เพิ่งเปิดตัวจะมีเนื้อหาเก่าด้วยจากเนื้อหา ฉันหมายถึงถ้าฉันอัปโหลดหรืออัปเดตไฟล์รูปภาพ, html, css หรือ php ไปยังเว็บไซต์ของฉัน
cn flag
คุณสามารถใช้ข้อมูลผู้ใช้เมื่อคุณจัดเตรียมอิมเมจเพื่อปรับแต่งการปรับใช้ คุณยังสามารถใส่เนื้อหาแบบคงที่ เช่น รูปภาพใน S3 และอัปเดตแยกกันได้ อาจเป็นการดีที่สุดที่จะตรวจสอบการฝึกอบรมบางอย่างเกี่ยวกับ AWS ผ่านผู้ให้บริการออนไลน์ เนื่องจากอาจให้ข้อมูลพื้นฐานแก่คุณมากกว่าที่เราจะทำได้ที่นี่
vidarlo avatar
ar flag
โดยพื้นฐานแล้วคุณกำลังพยายามปรับใช้ *แบบดั้งเดิม* ในสภาพแวดล้อมแบบคลาวด์ อย่าทำอย่างนั้น ใช้ประโยชน์จากคลาวด์ - แยกข้อมูลและลอจิก เพื่อให้ลอจิกสามารถเป็นคอนเทนเนอร์นักเทียบท่าที่เข้าถึงข้อมูล - ทั้งแบบสแตติกจาก S3 หรือไดนามิกจากฐานข้อมูล ทำให้ปรับขนาดได้ง่าย หมุนภาชนะเพิ่มเติมเมื่อจำเป็น ฉันจะเห็นด้วยกับ @ shearn89 - สอนตัวเองเกี่ยวกับวิธีใช้ประโยชน์จากคลาวด์และวิธีปรับขนาดในสภาพแวดล้อมคลาวด์
jp flag
การปรับให้เหมาะสมโดยไม่รู้ว่าอะไรคือปัญหาคอขวดที่แท้จริงนั้นเป็นการเสียเวลาและทรัพยากรโดยเปล่าประโยชน์ พิจารณาว่าสิ่งใดคือการใช้ทรัพยากรจริงและความอิ่มตัวก่อน
Muhammad Shafiq avatar
sa flag
ฉันกำลังพูดถึงความเร็วของโฮมเพจ ในโฮมเพจไม่มีการเชื่อมต่อกับฐานข้อมูล ฉันจำเป็นต้องแปลง apache MPM จาก prefork เป็น worker หรือไม่

โพสต์คำตอบ

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