Một trang web Drupal 7 không được tối ưu hóa với 2 GB RAM có thể phục vụ khoảng 20-25 yêu cầu mỗi giây một cách thỏa đáng. Nếu bạn muốn đi xa hơn, trang web sẽ yêu cầu một số điều chỉnh. Những gì bạn điều chỉnh phụ thuộc vào việc hầu hết người dùng trên trang web là ẩn danh hay được xác thực. Dưới đây là những điều hàng đầu bạn có thể làm để cải thiện hiệu suất:
Trang web đang phục vụ hầu hết người dùng ẩn danh:
1) Chắc chắn cài đặt và cấu hình APC, memcache và entitycache.
2) Đặt proxy Varnish trước máy chủ web. Mất khoảng 30 phút để cài đặt và định cấu hình nhưng sẽ giảm đáng kể thời gian tải trang của bạn. Trên thực tế, Varnish có thể xử lý khoảng 300 yêu cầu mỗi giây trên máy 2 GB nếu tất cả các trang được lưu trữ. Sử dụng mô-đun hết hạn để chỉ hết hạn các trang đã chọn về cập nhật / xóa nội dung.
3) Sử dụng mô đun Tổng hợp CSS / JS nâng cao để tổng hợp các tệp CSS và JS. Hãy thử di chuyển tất cả các tệp JS xuống cuối trang. Nhưng lưu ý rằng điều này có thể phá vỡ trang web của bạn để thực hiện điều này trên sản xuất sau khi thử nghiệm kỹ lưỡng. Cũng thử nghiệm với CSS nội tuyến quan trọng. Theo kinh nghiệm của tôi, nó sẽ giảm thời gian tải trang xuống khoảng nửa giây.
4) CSS / JS / hình ảnh nên có tiêu đề hết hạn trong tương lai. Điều này sẽ đảm bảo rằng các trình duyệt sẽ không yêu cầu lặp lại cùng một CSS / JS / hình ảnh.
5) Đảm bảo rằng máy chủ web đang phục vụ các trang nén / CSS / JS.
Sau khi thực hiện 5 bước trên, máy chủ RAM 2 GB của bạn sẽ có thể phục vụ 50 yêu cầu mỗi giây khá dễ dàng.
Trang web đang phục vụ hầu hết người dùng được xác thực:
Tối ưu hóa một trang web như vậy là phức tạp hơn. Các trang web này thuộc một trong hai loại phụ cho mục đích tối ưu hóa:
(a) Hầu hết các trang trên trang web giống hệt nhau ngoại trừ 1 hoặc 2 khối có thông tin cụ thể của người dùng. Ví dụ như trang web thương mại Drupal.
(b) Hầu hết các trang được tùy chỉnh hoàn toàn cho người dùng. Ví dụ như trang web Drupal Commons.
Nếu trang web của bạn thuộc danh mục (a), thì hãy áp dụng hầu hết các kỹ thuật mà chúng tôi đã thảo luận cho trang web phục vụ hầu hết người dùng ẩn danh. Sự khác biệt duy nhất là đối với các trang không phải quản trị viên, Varnish sẽ cần xóa cookie SESSION khỏi tiêu đề và phục vụ các trang được lưu trong bộ nhớ cache. Sử dụng mô-đun AJAX Block cho các khối máy chủ với thông tin cụ thể của người dùng bằng AJAX. Bằng cách này, hầu hết các trang sẽ được phục vụ cực kỳ nhanh chóng bằng cách sử dụng Varnish và sau đó thông tin cụ thể của người dùng sẽ được cung cấp qua AJAX.
Nếu trang web của bạn nằm trong danh mục (b), thì hãy sử dụng mô-đun Authcache. Tôi không thích sử dụng nó nhiều nhất có thể bởi vì nó đòi hỏi khá nhiều cấu hình và bảo trì. Nhưng nó hoạt động thực sự tốt. Nó sẽ không nhanh như sử dụng Varnish nhưng nó sẽ có thể xử lý 50 yêu cầu mỗi giây mà bạn đang tìm kiếm.
Nếu bạn đang tìm cách vượt lên trên và vượt ra ngoài những gì chúng ta đã thảo luận ở đây, thì hãy xem Danh sách kiểm tra tối ưu hóa hiệu suất của Drupal . Tiết lộ: Nó được viết bởi tôi. Nó trích dẫn một danh sách đầy đủ những điều bạn có thể làm để làm cho trang web Drupal của bạn rực sáng nhanh chóng.