วานิชกับ nginx นั้นดีกว่าการใช้ nginx หรือไม่? [ปิด]


22

ฉันเห็นจำนวนมากพูดคุยเกี่ยวกับการใช้ nginx กับวานิชและฉันไม่เข้าใจว่าทำไม ไม่เพียงพอหรือไม่

Nginx มี SSI, มี reverse proxy cache, มีน้ำหนักเบา, มี SSL, สามารถทำงานกับ cgi, fpm, เป็นต้น

วานิชมีสิ่งเดียวกัน แต่ไม่มี ssl และไม่สนับสนุน cgi


"ดีกว่า" เป็นอัตนัยจริงๆ ขึ้นอยู่กับกรณีการใช้งานของคุณ ...
voretaq7

7
บางครั้งคำถามง่าย ๆ ก็ทำงานได้ดีกว่าคำถามที่ซับซ้อน ฉันกังวลมากเกี่ยวกับการกระทำเช่นนั้นจากคนที่ปิดคำถามนี้โดยถือว่าไม่ดีกับ "รูปแบบคำถาม & คำตอบดั้งเดิม" ฉันกำลังค้นหาเกี่ยวกับเรื่องนี้และฉันก็สนใจที่จะเห็นผลลัพธ์ของการอภิปรายนี้
Roger

วานิชมีการกำหนดค่า vcl ที่มีประสิทธิภาพ, กำจัด, แคชพร็อกซีย้อนกลับ, ESI nginx สามารถทำงานร่วมกับ FCGI, แคชพร็อกซีย้อนกลับ, SSI, ไม่มีการล้าง (อาจมีโมดูล) ประสิทธิภาพฉลาดพวกเขาเกือบจะเหมือนกันสำหรับไฟล์คงที่, แคช ... คุณมีคำถามใด ๆ ที่ฉันสามารถช่วยได้
Bogdan Cosmin

คำตอบ:


14

ฉันพบว่าวานิช ~ 5% เร็วกว่าสำหรับไฟล์สแตติกขนาดเล็กกว่า nginx - วานิชหน้า apache หรือวานิชหน้าเว็บแอปเซิร์ฟเวอร์จะได้รับผลประโยชน์มาก แต่ต่อหน้า nginx ผลประโยชน์นั้นค่อนข้างเล็กน้อย (โดยเฉพาะกับค่าโสหุ้ยและความซับซ้อนที่เพิ่มเข้ามา)


คุณสามารถให้ผลการทดสอบเพื่อสนับสนุนสิ่งนี้ได้หรือไม่? ถ้าฉันใช้ nginx + opcache อยู่แล้ว มีประโยชน์ในการใช้วานิชหรือไม่?
ร้ายแรง

23

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

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

หาก nginx สามารถรองรับปริมาณการใช้งานของคุณได้แสดงว่าเพียงพอแล้ว หาก nginx ไม่สามารถติดตามได้วิธีหนึ่งในการเพิ่มความจุคือการวางแคชไว้ข้างหน้าและให้แคชจัดการกับคำร้องขอให้มากที่สุดเท่าที่จะทำได้

ตัวอย่างเช่นเราใช้ Apache เพื่อเรียกใช้เว็บไซต์ PHP ที่ค่อนข้างซับซ้อนจากกลุ่มของเว็บเซิร์ฟเวอร์ เมื่อเราเริ่มประสบปัญหาด้านความจุเราวางเซิร์ฟเวอร์วานิชคู่หนึ่งไว้หน้าคลัสเตอร์ Apache โฮสต์วานิชจัดการ 85% ของการร้องขอที่เข้ามาทั้งหมดโดยไม่ต้องรบกวนแบ็กเอนด์ Apache


ดังนั้นสารเคลือบเงาแคชเนื้อหาแบบไดนามิกที่สร้างโดย PHP? หรือเพียงแค่สิ่งอื่น ๆ ?
Alix Axel

เคลือบเงาแคชสิ่งที่คุณบอกให้แคช มันสามารถแคชเอาท์พุท PHP เพียงไฟล์คงที่ทั้งหรือไม่ มันเป็นเครื่องมือที่ทรงพลังมาก
Insyte

ฉันถูกถามเกี่ยวกับตัวอย่างเฉพาะของคุณ มันทำให้ฉันสับสนว่าจะสามารถแคชเนื้อหาแบบไดนามิกได้อย่างไรโดยไม่ทำให้แอปพลิเคชันแบบไดนามิกยุ่งเหยิง (เซสชัน PHP สำหรับผู้เริ่ม) การแคชเนื้อหาแบบคงที่ดูเหมือนจะซ้ำซ้อนกับฉัน
Alix Axel

3
มันขึ้นอยู่กับเนื้อหาแบบไดนามิก พูดเช่นว่าหน้านั้นเป็นบล็อกโพสต์ที่มีความคิดเห็น อาจมีราคาแพงมากในการสร้างกระทู้ความคิดเห็น แต่ยอมรับอย่างสมบูรณ์เพื่อแคชเป็นเวลา 5 นาที ในทางกลับกันการแคชเนื้อหาแบบไดนามิกที่ส่งคืนโดยแอปพลิเคชันเว็บเมลอาจเป็นปัญหาได้อย่างชัดเจน คุณสามารถสร้างกรณีผสม: แคชเอาท์พุทเต็มรูปแบบของแอพอีคอมเมิร์ซ แต่บอกวานิชให้โทรกลับไปที่แบ็กเอนด์เพื่อเติมตัวบ่งชี้รถเข็นช็อปปิ้ง
Insyte
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.