Thiết kế thông thường của trang web dựa trên cơ sở dữ liệu sử dụng ít (hoặc nhiều hơn, như 50 hoặc 100) truy vấn cơ sở dữ liệu để tạo một trang web duy nhất đáp ứng yêu cầu của trình duyệt.
Mỗi một trong những truy vấn này, lần lượt yêu cầu thời gian khứ hồi giữa máy chủ web và máy chủ cơ sở dữ liệu. Điều này có thể nhanh chóng thêm lên.
Ngược lại, kết nối giữa trình duyệt web và trang web được thiết lập sau hai lần đi lại giữa trình duyệt và máy chủ, sau đó dữ liệu được chuyển đến trình duyệt nhanh nhất có thể.
Thấy sự khác biệt? 2 chuyến khứ hồi người dùng-máy chủ so với nhiều (có thể là hàng chục) chuyến khứ hồi máy chủ-máy chủ. Kết nối giữa các máy chủ có thể nhanh hơn nhưng không đáng kể.
Đây là lý do tại sao thiết lập của bạn nói chung là vô nghĩa.
Những gì có thể được thực hiện, sau đó?
- Sử dụng một máy chủ web duy nhất gần cơ sở dữ liệu. Thời điểm mà việc có các máy chủ được phân phối theo địa lý là rất quan trọng để cải thiện trải nghiệm người dùng đã qua lâu đối với bất kỳ thứ gì khác ngoài trung tâm thương mại điện tử hoặc tin tức toàn cầu.
Trải nghiệm người dùng ngày nay bị chi phối bởi các thuộc tính kết nối của người dùng ngay từ đầu và hầu như không phụ thuộc vào vị trí máy chủ web.
Có, đôi khi một kết nối đường trục toàn cầu chính bị hỏng và các kết nối giữa v.d. Trung Quốc và Châu Âu trở thành một nỗi đau thực sự, nhưng nếu điều không may đó xảy ra, kết nối giữa máy chủ web của bạn và máy chủ db của bạn sẽ bị ảnh hưởng như nhau. Và điều này thực sự còn tồi tệ hơn việc làm chậm kết nối giữa máy chủ web của bạn và người dùng của bạn, xem ở trên.
Có những thủ thuật CDN có thể cải thiện thời gian phản hồi của bạn ngay cả với một máy chủ bằng cách trông giống như bạn có nhiều máy chủ ở các vị trí khác nhau. Các nhà cung cấp CDN lớn như Cloudflare hay Akamai có những công cụ thực sự mạnh mẽ.
Sử dụng sao chép cơ sở dữ liệu và duy trì cơ sở dữ liệu gần cả hai máy chủ web. Điều này có thể yêu cầu suy nghĩ lại sâu sắc về thiết kế ứng dụng, cũng như bộ kỹ năng rộng hơn nhiều và/hoặc giấy phép DB đắt tiền hơn.
Kiểm tra thuộc tính kết nối cơ sở dữ liệu của bạn ở cả hai đầu (máy chủ db và máy chủ web).
- Ghi nhật ký mở rộng, xác thực phức tạp và đảo ngược dns ở phía máy chủ db có thể làm chậm khá nhiều kết quả của mỗi truy vấn db.
- Sử dụng các kết nối db liên tục ở phía máy chủ web có thể giảm 2-5 lần truy vấn db.
- Thiết kế lại ứng dụng của bạn để sử dụng ít truy vấn db hơn trên mỗi trang. Mặt khác, điều này có thể dẫn đến việc các truy vấn trở nên phức tạp hơn, chậm hơn và khó bảo trì hơn. Số dặm của bạn có thể thay đổi.