Score:0

แคชรูปภาพจากส่วนกลาง

ธง ng

แอปพลิเคชัน: แสดงภาพที่ตอบสนองและปรับแต่งได้ทันทีโดยการครอบตัด/ปรับขนาด/บีบอัดภาพหลัก

โหลดปัจจุบัน: คำขอ 10,000 ต่อนาที, ปริมาณการใช้ ~ 60MBps

การกำหนดค่าปัจจุบัน : NginxPlus LB อยู่ด้านบนสุด เซิร์ฟเวอร์แอปหลายตัวที่มี nginx->tomcat อิมเมจของเซิร์ฟเวอร์แต่ละแอปจะถูกแคชใน nginx

ปัญหาปัจจุบัน:

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

โซลูชั่นที่มีศักยภาพ

  • Nginx Load Balancer กำลังแฮชที่สอดคล้องกัน ปัญหาของแนวทางนี้คืออาจทำให้เกิดการกระจายทราฟฟิกที่ไม่สม่ำเสมอ

  • แนะนำเลเยอร์กลางของเซิร์ฟเวอร์ nginx สองสามตัว: สามารถแนะนำเลเยอร์แคช nginx เฉพาะระหว่าง LB และเซิร์ฟเวอร์แอป แต่สมมติว่าฉันเก็บเซิร์ฟเวอร์ 3 เครื่องไว้ในเลเยอร์นี้ แต่ก็ยังมีปัญหาเดียวกันในการแคชซ้ำและการล้างข้อมูลปวดหัวแม้ว่าจะมีขนาดต่ำกว่าก็ตาม

  • ดิสก์ I/O อาจมีปัญหาในกรณีของ single nginx

ใครบ้างมีประสบการณ์ในการแก้ปัญหากรณีการใช้งานนี้ ? ไม่ว่าจะเป็น nginx อย่าลังเลที่จะแบ่งปันความคิดของคุณ

anx avatar
fr flag
anx
อะไรทำให้คุณคิดว่าการกระจายทราฟฟิกที่ไม่สม่ำเสมอกลายเป็นปัญหา การตั้งค่าส่วนใหญ่ที่มีขนาดใหญ่พอที่จะพิสูจน์ได้ว่าเซิร์ฟเวอร์แอปจำนวนมากจะมีผู้ใช้ที่หลากหลายมากพอที่จะสุ่มเลือก แต่การเลือกอัพสตรีมแบบติดหนึบจะไม่ทำให้เกิดการกระจายที่ไม่สม่ำเสมอ ซึ่งมีความสำคัญเมื่อเทียบกับความจุสำรองสัมพัทธ์ที่คุณต้องการให้มีในโหมดสแตนด์บาย คุณอาจกำลังพยายามแก้ปัญหาที่แทบจะวัดไม่ได้ด้วยรูปแบบการรับส่งข้อมูลทั่วไป
djdomi avatar
za flag
ฉันไม่ทราบว่าระบบไฟล์ใดดีที่สุด แต่คุณสามารถใช้ที่เก็บข้อมูลกลางสำหรับแคชได้ ซึ่งจะช่วยลดผลกระทบของแคชสองเท่าเนื่องจากทั้งหมดใช้แคชเดียวกัน
us flag
การใช้ระบบไฟล์ที่ใช้ร่วมกันสำหรับแคชอาจไม่รองรับสถานการณ์จำลองใน nginx หากการเข้าถึงแคชไม่ได้รับการซิงโครไนซ์อย่างเหมาะสม เอฟเฟกต์แปลกๆ ทุกประเภทอาจเกิดขึ้นได้ นอกจากนี้ เหตุการณ์การหมดอายุของแคชอาจทำให้เกิดปัญหาได้ วิธีการเกี่ยวกับการใช้แคชสำหรับภาพบน nginxplus LB?
Holy_diver avatar
ng flag
@TeroKilkanen ฉันเข้าใจแล้ว แต่ใน NginxPlusLB เราอาจพบปัญหาเกี่ยวกับดิสก์ i/o เนื่องจากการโหลดทั้งหมดผ่าน LB สิ่งนี้อาจใช้งานได้ แต่ไม่สามารถพิสูจน์ได้ในอนาคต
djdomi avatar
za flag
@Holy_diver ฉันเชื่อว่า SSD สามารถจัดการกับสถานการณ์ของคุณได้ หรือคุณเอาชนะ IOPS หนึ่งล้านบนที่เก็บข้อมูลแบบ NVME ได้หรือไม่ รอบของมันประมาณ 180k IOPS จริง
mforsetti avatar
tz flag
อัตราการเข้าชมแคชต่ำที่ 10,000 คำขอต่อนาที? อัตราส่วนการเข้าถึงแคชของคุณตอนนี้เป็นเท่าใด ฉันมักจะเห็นด้วยกับ @anx ที่นี่ด้วยการเพิ่มประสิทธิภาพก่อนเวลาอันควร
Holy_diver avatar
ng flag
@mforsetti อัตราการเข้าชมปัจจุบันคือ 10% และนโยบาย LB คือการเชื่อมต่อที่น้อยที่สุด ดังนั้น Cache จึงกระจายอำนาจ สำหรับ Hit คำขอถัดไปควรส่งไปยังเซิร์ฟเวอร์แอปเดียวกัน

โพสต์คำตอบ

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