Làm thế nào để một trang web như rambler phục vụ nội dung động nhanh như vậy? ... Đây có phải là khả năng của Nginx không? Tôi nên tìm hiểu về những khả năng như vậy ở đâu?
Điều này chẳng liên quan gì đến máy chủ web được sử dụng - cả nginx, IIS và Apache đều 'đủ nhanh' để thực hiện công việc của họ trong vòng một phần nghìn giây. nginx nhanh hơn nhiều so với Apache, nhưng điều này chỉ có nghĩa là chủ sở hữu trang web sẽ cần ít máy chủ hơn cho phần phục vụ web - nginx không truyền dữ liệu nhanh hơn cho bạn.
Phần ít quan trọng hơn là tốc độ phía máy chủ , tức là thời gian cần thiết để tạo HTML. Phần quan trọng hơn là hiệu suất của 'frontend' , theo ý tôi là HTML, CSS, Javascript và Hình ảnh, số lượng này, kích thước của chúng và phân phối thích hợp (nén HTTP, bộ nhớ đệm) của các mục này.
Tất nhiên tốc độ phía máy chủ vẫn rất quan trọng, tôi không nói rằng nên bỏ qua hoặc điều đó không quan trọng. Nhưng thông thường, đây là phần nhỏ nhất nhận thấy về tốc độ của người dùng cuối - công việc của máy chủ thường được thực hiện trong vòng chưa đến 500 mili giây, nhưng trang không sẵn sàng trước khi 3.000 - 5.000 mili giây trôi qua. Phần lớn thời gian này là để tải xuống các tài nguyên lối vào (CSS, Javascript, Hình ảnh).
Steve Souder đã làm công việc ban đầu khi còn ở Yahoo, hiện anh đang làm việc tại Google. Cuốn sách đầu tiên của ông "Các trang web hiệu suất cao" là điểm khởi đầu tốt nhất để tìm hiểu thêm về cách tạo các trang web nhanh. Các tài liệu tương tự trong cuốn sách của ông có thể được tìm thấy trong cuộc nói chuyện video này và các quy tắc thiết kế này . Tuy nhiên, tôi thấy rằng cuốn sách này rất nhanh để đọc và dễ hiểu hơn nhiều.
Bạn có thể chạy các trang web thông qua trình kiểm tra của WebPageTest.org - điều đó sẽ mang lại cho bạn cảm giác tốt cho phần lối vào của các trang web này và tại sao chúng nhanh hơn hoặc chậm hơn.
Tôi tin rằng serverfault.com nếu được phục vụ từ Nginx sẽ nhanh hơn IIS 7 (giả sử thời gian truy cập db là giống nhau trong cả hai trường hợp). Đây có phải là một giả định công bằng?
Không, đó là một sự hiểu lầm. :-)