เมื่อใดและเมื่อใดที่จะไม่ใช้ CDN


13

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

ฉันเพิ่งทดสอบเครือข่าย CDN สำหรับสิ่งนี้ (Cloudfront) การคิดว่าการย้ายไฟล์คงที่ใกล้กับผู้ใช้เป็นแนวคิดที่ดี อย่างไรก็ตามไฟล์เหล่านี้ทั้งหมดใช้เวลาครึ่งวินาทีหรือมากกว่านั้นในการแสดงผลบนหน้าจอ ตอนนี้ฉันต้องใช้เส้นทางสัมบูรณ์แน่นอน (https://xyzvf.cloufront.net/images/)

ทำไมถึงเป็นอย่างนั้น? เส้นทางสัมบูรณ์เป็นปัญหาหรือไม่? ฉันลดการร้องขอ HTTP ไปยังเซิร์ฟเวอร์ของฉันเองซึ่งเป็นสิ่งที่ดี แต่ความล่าช้านั้นน่ารำคาญ CDN เหมาะกับสิ่งนี้หรือไม่


4
มันสวยมากขึ้นอยู่กับที่ CDN ตั้งอยู่ หากคุณมีภาพขนาดเล็กจำนวนมากการรวมเข้าด้วยกันเป็นตัวเลือกหรือไม่? นั่นหมายถึงการร้องขอเพียงครั้งเดียวในการโหลดภาพทั้งหมด

พวกเขามีสถานที่เหล่านี้: michaelgaigg.com/blog/images/amazon-cloudfront.jpg ฉันอยู่ในยุโรปและโหลดภาพจากเว็บเซิร์ฟเวอร์ของฉันในสหรัฐอเมริกาเร็วกว่าการโหลดจากเยอรมนีหรือที่ตั้งของยุโรปที่ Amazon ให้บริการฉัน หรืออาจจะไม่ใช่เวลาโหลดเป็นปัญหา แต่อย่างอื่น? การใช้สไปรต์เป็นความคิดที่ดีมากขอบคุณ

คุณสามารถใช้ URL ที่ไม่มีโปรโตคอลด้วยชื่อโฮสต์เช่น "//xyzf.cloudfront.net/images" สิ่งนี้ช่วยให้คุณสามารถใช้ประโยชน์จาก ISP และแคชพร็อกซีขององค์กรสำหรับการแคชรูปภาพที่ไม่ใช่ SSL สิ่งนี้มีประโยชน์อย่างมากสำหรับทั้งประสบการณ์ของผู้เยี่ยมชมและโหลดเซิร์ฟเวอร์ / แบนด์วิดท์ ผู้เยี่ยมชมเว็บไซต์ของเราเกือบทั้งหมดมาจากสถาบันการเงินในสหรัฐฯและเราตรวจพบการเยี่ยมชมประมาณ 85% จากด้านหลังแคชพร็อกซีบางรูปแบบ YMMV ดังนั้นควรทดสอบเว็บไซต์และปริมาณการใช้งานของคุณเอง
rmalayter

คำตอบ:


6

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

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


เสียงกระดิ่งดัง ฉันควรพูดถึงว่าการโทรครั้งแรกไปยังเซิร์ฟเวอร์ CDN เกิดขึ้นเมื่อต้องการรูปภาพแรกเช่นตรงกลางหน้า

อ่าคุณอาจได้รับประสิทธิภาพที่ดีขึ้น (รับรู้) หากคุณทำการอ้างอิงการอ้างอิงใด ๆ ไปยัง CDN แต่เนิ่นๆในหน้า วิธีที่ดีที่สุดคือการวางไฟล์ CSS ของคุณบน CDN และวางlinkแท็กในheadส่วนดังนั้นกระบวนการเชื่อมต่อจะเริ่มต้นทันที
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.