การออกแบบตามปกติของเว็บไซต์ที่มีฐานข้อมูลสำรองจะใช้การสืบค้นฐานข้อมูลเพียงเล็กน้อย (หรือมากกว่านั้น เช่น 50 หรือ 100 รายการ) เพื่อสร้างหน้าเว็บเพจเดียวเพื่อตอบสนองคำขอของเบราว์เซอร์
ทุกๆ แบบสอบถามเหล่านี้ต้องใช้เวลาไป-กลับระหว่างเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ฐานข้อมูล สิ่งนี้สามารถเพิ่มได้อย่างรวดเร็ว
ในทางตรงกันข้าม การเชื่อมต่อระหว่างเว็บเบราเซอร์และเว็บไซต์จะเกิดขึ้นหลังจากการไป-กลับสองครั้งระหว่างเบราเซอร์และเซิร์ฟเวอร์ จากนั้นข้อมูลจะถูกส่งไปยังเบราเซอร์อย่างรวดเร็วเท่าที่การเชื่อมต่อจะเอื้ออำนวย
ดูความแตกต่าง? 2 เซิร์ฟเวอร์ไปกลับระหว่างผู้ใช้กับเซิร์ฟเวอร์และเซิร์ฟเวอร์ไป-กลับหลายครั้ง (น่าจะหลายสิบ) การเชื่อมต่อระหว่างเซิร์ฟเวอร์อาจเร็วขึ้น แต่ไม่มาก
นี่คือสาเหตุที่การตั้งค่าของคุณไม่มีจุดหมาย
ทำแล้วได้อะไร?
- ใช้เว็บเซิร์ฟเวอร์เดียวใกล้กับฐานข้อมูล เวลาที่การมีเซิร์ฟเวอร์กระจายตามพื้นที่มีความสำคัญต่อการปรับปรุงประสบการณ์ผู้ใช้นั้นหายไปนานแล้วสำหรับทุกสิ่งที่น้อยกว่าอีคอมเมิร์ซระดับโลกหรือศูนย์กลางข่าวสาร
ประสบการณ์ของผู้ใช้ในปัจจุบันถูกควบคุมโดยคุณสมบัติการเชื่อมต่อของผู้ใช้เป็นอันดับแรก และแทบจะไม่ขึ้นอยู่กับตำแหน่งเว็บเซิร์ฟเวอร์
ใช่ มีบางครั้งที่การเชื่อมต่อแกนกลางส่วนกลางหลักหยุดทำงาน และการเชื่อมต่อระหว่างกัน เช่น จีนและยุโรปกลายเป็นความเจ็บปวดอย่างแท้จริง แต่ถ้าเหตุการณ์ที่โชคร้ายเกิดขึ้น การเชื่อมต่อระหว่างเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ db ของคุณจะได้รับผลกระทบเท่ากัน และนี่แย่กว่าการทำให้การเชื่อมต่อระหว่างเว็บเซิร์ฟเวอร์และผู้ใช้ของคุณช้าลง ดูด้านบน
มีเคล็ดลับ CDN ที่อาจปรับปรุงเวลาตอบสนองของคุณแม้กับเซิร์ฟเวอร์เดียว โดยดูเหมือนว่าคุณมีเซิร์ฟเวอร์หลายเครื่องในสถานที่ต่างกัน ผู้ให้บริการ CDN รายใหญ่อย่าง Cloudflare หรือ Akamai มีเครื่องมือที่ทรงพลังจริงๆ
ใช้การจำลองฐานข้อมูลและดูแลฐานข้อมูลใกล้กับเว็บเซิร์ฟเวอร์ทั้งสอง สิ่งนี้อาจต้องมีการคิดใหม่อย่างลึกซึ้งเกี่ยวกับการออกแบบแอปพลิเคชัน รวมถึงชุดทักษะที่กว้างขึ้นและ/หรือสิทธิ์ใช้งาน DB ที่มีราคาแพงกว่ามาก
ตรวจสอบคุณสมบัติการเชื่อมต่อฐานข้อมูลของคุณที่ปลายทั้งสองด้าน (เซิร์ฟเวอร์ db และเว็บเซิร์ฟเวอร์)
- การบันทึกที่กว้างขวาง การพิสูจน์ตัวตนที่ซับซ้อน และการย้อนกลับ DNS ในฝั่งเซิร์ฟเวอร์ db อาจทำให้ผลลัพธ์ของการสืบค้น db แต่ละรายการล่าช้าได้ค่อนข้างมาก
- การใช้การเชื่อมต่อ db แบบต่อเนื่องบนฝั่งเว็บเซิร์ฟเวอร์สามารถลดการสืบค้น db แบบไปกลับได้ 2-5 เท่า
- ออกแบบแอปพลิเคชันของคุณใหม่เพื่อใช้แบบสอบถาม db น้อยลงต่อหน้า ในทางกลับกัน อาจส่งผลให้ข้อความค้นหาซับซ้อนขึ้น ช้าลง และยากต่อการรักษา ระยะทางของคุณอาจแตกต่างกันไป