Làm thế nào để bạn cải thiện hiệu suất Drupal?


54

Drupal phát triển nhanh, nhưng hiệu suất rất kém. Thật khó để đạt được 50 yêu cầu mỗi giây.

Và có rất nhiều truy vấn SQL trong một trang web đơn giản. Nếu bạn kiểm tra thời gian yêu cầu của một biểu mẫu gửi trong Drupal.org, sẽ luôn mất vài giây để hoàn tất.

Làm thế nào để bạn cải thiện tốc độ của trang web của bạn?


3
Bạn đã thực sự tìm kiếm các trang web? Tôi không thể tưởng tượng điều này đã không được thảo luận nhiều lần trước đây.
Letharion

1
Kiểm tra các slide của tôi goo.gl/30yi39 sẽ giúp bạn
mikeytown2 7/07/14

Câu trả lời:


61

Bộ nhớ đệm, bộ nhớ đệm và bộ nhớ đệm.

Một số gợi ý tôi đã đưa ra trước đây cho một câu hỏi tương tự

  1. Đặt Varnish hoặc proxy ngược khác trước http-deamon của bạn có lẽ là điều tốt nhất duy nhất bạn có thể làm.
  2. Trong DrupalCon lọchagen, Rasmus tuyên bố rằng việc sử dụng bộ đệm opcode php, như APC , là một trong những điều tốt nhất bạn có thể làm để tăng tốc PHP nói chung. Hiệu suất cải thiện với các phiên bản mới hơn của PHP. Ngoài ra còn có các lợi ích bổ sung để nâng cấp PHP khi bạn nâng cấp Drupal. Từ 6 đến 8, Drupal sẽ trải qua một sự thay đổi lớn theo hướng đối tượng, đây cũng là phần lớn các cải tiến hiệu suất xảy ra trong các phiên bản PHP mới hơn.
  3. Memcache là một lựa chọn phổ biến để tăng tốc bộ đệm, bằng cách đặt bộ đệm vào bộ nhớ thay vì đĩa.
  4. Các bảng điều khiển + Bộ nhớ đệm kết hợp với các hành động Cache có thể tăng hiệu suất đáng kể, ngay cả đối với người dùng đã đăng nhập, vì nó hỗ trợ logic khá phức tạp.
  5. Các Entity cache là một sự thúc đẩy tốc độ thoải mái và zero-conf cho bất cứ ai sử dụng Drupal 7.
  6. Các trang web nặng có ít giải pháp "được thiết lập tốt". Một số tùy chọn bao gồm.
    1. Di chuyển thường xuyên viết hoàn toàn, ví dụ như thống kê, ở một nơi khác, chẳng hạn như phân tích google.
    2. Bộ nhớ đệm hoạt động ghi thường xuyên với một giải pháp tùy chỉnh trong một cái gì đó như NodeJS sẽ ghi vào DB mỗi giây một lần.
    3. Hy sinh ACID thiêng liêng và sử dụng cơ sở dữ liệu như MongoDB . (Xem bình luận của Berdir bên dưới)
    4. Phân cụm cơ sở dữ liệu SQL của bạn. Đừng đọc từ cơ sở dữ liệu này, ghi vào cơ sở dữ liệu khác. Điều này có nguồn gốc từ D7 và Pressflow có thể giúp với điều đó trong D6.

Tất cả điều này đã được thêm vào, nhưng tất cả điều này là để đọc bộ nhớ đệm, không tốt cho các trang web có nhiều ghi.
Bruce Dou

Bạn đã không nói bất cứ điều gì cụ thể về viết. :) Tôi sẽ thêm một cái gì đó về nó trong câu trả lời của tôi.
Letharion

1
Làm rõ trên MongoDB. Bạn không thể chuyển cơ sở dữ liệu hoàn chỉnh của mình sang MongoDB. MongoDB là một cái gì đó hoàn toàn khác với một DBMS như MySQL và ví dụ không sử dụng SQL. Bạn chỉ có thể thay thế một số thành phần có thể cắm và sử dụng chúng để lưu trữ một phần dữ liệu của bạn trong MongoDB, ví dụ như các trường, nhật ký, khối, v.v.
Berdir

@Letharion >> Phân cụm cơ sở dữ liệu SQL của bạn. Đừng đọc từ cơ sở dữ liệu này, ghi vào cơ sở dữ liệu khác. Pressflow có thể giúp với điều đó. Làm thế nào điều này có thể đạt được ?
GoodSp33d

1
Câu trả lời chính xác! Dứt khoát. Để thêm vào điều này, hãy xem mô-đun Tổng hợp CSS / JS nâng cao vì tôi hiểu rằng việc tổng hợp làm giảm các yêu cầu đối với các tệp CSS và JS do đó giúp cải thiện hiệu suất.
trị liệu

23

Đây là những ghi chú từ kinh nghiệm của tôi và có thể thay đổi so với những gì người khác trải nghiệm. Tôi chủ yếu sử dụng LAMP stack và đã xem xét tương tự trong các đề xuất của tôi.

Quy tắc ngón tay cái cho bộ nhớ đệm mà tôi thường làm theo.

  1. Xử lý một lần sử dụng nhiều lần.
  2. Sống với dữ liệu cũ khi có thể
  3. Clear Caches không thường xuyên và giữ cho nó rất cụ thể.
  4. Khi có thể làm những thay đổi ở mức thấp nhất trong ngăn xếp. LAMP - DCCc: Linux, Apache, Mysql, PHP, Drupal Core, Contrib và mô-đun tùy chỉnh.

Cải thiện hiệu suất của một trang web Drupal (Theo thứ tự ngày càng phức tạp)

  1. Giữ cốt lõi được cập nhật, mô-đun đóng góp và chủ đề được cập nhật. Vâng, nó quan trọng.

  2. Cài đặt APC trên máy chủ của bạn. (Đã chuyển lên đầu dựa trên đề xuất từ ​​Letharion)

  3. Bộ đệm trang: quản trị / cấu hình / phát triển / hiệu suất Sự khác biệt giữa tuổi thọ bộ đệm tối thiểu và hết hạn của các trang được lưu trong bộ nhớ cache

  4. Chặn bộ đệm https://drupal.org/project/blockcache_alter Tùy chọn bộ đệm cho tất cả các khối.
  5. Tổng hợp các tệp javascript và css - Cải tiến Front End https://www.drupal.org/project/advagg
  6. Vô hiệu hóa các mô-đun không cần thiết. Mỗi mô-đun thêm vào số lượng mã cần có sẵn để tải trang. Và nó cũng làm tăng số lượng tra cứu. Trong trường hợp có thể sử dụng một mô-đun chung thay cho nhiều mô-đun có chức năng cụ thể.
  7. Nội dung Lượt xem bộ đệm - Bộ nhớ đệm nhận biết nội dung cho Lượt xem https://www.drupal.org/project/view_content_cache
  8. Vô hiệu hóa ghi nhật ký DB - Sử dụng https://drupal.org/project/syslog_ng
  9. Giảm lỗi 404 - http://www.brokenlinkcheck.com/
  10. Phản hồi nhanh 404 - https://drupal.org/project/fast_404 - Thử xử lý ở cấp máy chủ.
  11. Xác thực phía khách hàng - https://www.drupal.org/project/clentside_validation
  12. Nén hình ảnh - https://www.drupal.org/project/imageapi_optizes
  13. Tải hình ảnh lười biếng - Không tải hình ảnh không cần thiết - https://www.drupal.org/project/lazyloader
  14. Sử dụng Bảng Sprite - https://www.drupal.org/project/spritesheets

  15. Đặt Giá trị thời gian sống của bộ nhớ cache tối thiểu thành số cao hơn và sử dụng các mô-đun xóa bộ đệm để xóa bộ đệm cho các trang cụ thể - Bất cứ khi nào tôi chỉnh sửa / cập nhật một nút, tất cả bộ đệm trang cho người dùng ẩn danh đều bị mất

  16. Sử dụng Mô-đun Devel để xem các truy vấn.
  17. Viết lại Lượt xem Truy vấn / tránh Lượt xem nếu quá mức cần thiết.
  18. XHProf - https://www.drupal.org/project/XHProf
  19. Kiểm lâm, HHVM.
  20. Cấu hình và điều chỉnh DB - https://www.drupal.org/project/dbtuner
  21. Sử dụng Boost , không Bootstrap DB nếu không cần thiết. https://drupal.org/project/boost Đối với hầu hết các trang web vừa và nhỏ Boost là đủ tốt và bạn có thể không cần Reverse Proxy hoặc hơn thế.
  22. Sử dụng CDN - https://www.drupal.org/project/cdn Thật dễ dàng để thiết lập.
  23. Nếu các bảng bộ nhớ cache của bạn sử dụng rất nhiều Memcached - Nếu bạn có thể cài đặt memcached và thiết lập RAM cho nó, nó không phức tạp như âm thanh.
  24. Etags - Cấu hình Etags đúng cách. https://developer.yahoo.com/bloss/ydnfiveblog/high-performance-sites-rule-13-configure-etags-7211.html
  25. Sử dụng Reverse Proxy Server - Varnish (ít nhất là đối với tài sản). Giúp rất nhiều nếu hầu hết người dùng của bạn là ẩn danh.
  26. Truyền nén - Cho phép nén gzip
  27. Giữ sống - Sử dụng kết nối liên tục nếu có thể.
  28. JPEG tiến bộ -
  29. CACHING IN CODE - Blog của Eaton thật tuyệt vời. http://www.lullabot.com/blog/article/beginners-guide-caching-data-drupal-7
  30. Thực hiện hâm nóng bộ đệm - https://www.drupal.org/project/cache_warmer - Cache Làm ấm các trang trước khi người dùng cuối truy cập chúng.
  31. Cấu hình Master Slave DB - https://www.drupal.org/project/autoslave giúp bạn dễ dàng thiết lập một cái hơn.
  32. Các cụm cơ sở dữ liệu - https://stackoverflow.com/questions/1163216/database-cluster-and-load-balANCE
  33. Tải cân bằng - http://en.wikipedia.org/wiki/Load_balANCE_(computing)
  34. Sử dụng Hâm nóng bộ đệm heuristic - https://www.drupal.org/project/cache_graceful
  35. Bộ nhớ đệm người dùng được xác thực - https://www.drupal.org/project/authcache

Đăng lại câu trả lời tôi đã viết cho drupal.stackexchange.com/questions/118990/iêu . BTW nó đã bị đóng cửa nói rằng nó quá rộng. Tôi không chắc có sự khác biệt nào trong hai câu hỏi này không :)
Gokul NK

18

Mô-đun Boost cũng khá hữu ích, nó tạo ra bộ đệm tĩnh từ các trang web của bạn. Nó chủ yếu dành cho các trang web có nhiều lưu lượng người dùng ẩn danh.

Boost cung cấp bộ nhớ đệm trang tĩnh cho Drupal cho phép tăng hiệu suất và khả năng mở rộng rất đáng kể cho các trang web nhận được lưu lượng truy cập ẩn danh. Đối với lưu trữ được chia sẻ, đây là lựa chọn tốt nhất của bạn về mặt cải thiện hiệu suất. Trên các máy chủ chuyên dụng, bạn có thể muốn xem xét Varnish thay thế.

Apache được hỗ trợ đầy đủ, với Nginx, Lighttpd và IIS 7 được hỗ trợ bán. Boost sẽ cache & gzip nén html, xml, ajax, css và javascript. Tăng cường logic hết hạn bộ nhớ cache rất tiên tiến; khá đơn giản để có tuổi thọ bộ nhớ cache khác nhau cho các phần khác nhau của trang web của bạn. Trình thu thập thông tin tích hợp đảm bảo nội dung hết hạn được nhanh chóng được tạo lại để tải trang nhanh.


1
Boost hoạt động tuyệt vời cho Drupal 7 bây giờ imao. Trên một giải pháp lưu trữ được chia sẻ, đây là một cách tuyệt vời để đi (vì họ thường không cho phép Varnish chẳng hạn).
Sage

5

Điều đáng nói, nếu bạn đang sử dụng trình điều khiển cơ sở dữ liệu SQLIte, bạn có thể phải tắt đồng bộ hóa đĩa.

/**
 * Implements hook_init().
 */
function HOOK_init() {
  db_query('PRAGMA synchronous = OFF');
}

Trên một số cấu hình máy chủ, nó sẽ cải thiện hiệu suất đáng kể.


2
Vì điều này đã vô hiệu hóa nó trên mỗi lần tải trang, tôi đã suy nghĩ liệu có cách nào tốt hơn để vô hiệu hóa nó vĩnh viễn không. Nên dành một chút thời gian để kiểm tra nó.
Gokul NK

1
Có thể thực hiện điều đó trong các trang web / default / settings.php, bằng cách thêm phần tử 'init_commands' vào mảng cơ sở dữ liệu $. Tôi đã tìm thấy một ví dụ cho "PRAGMA syncous = OFF" tại đây: bitacoles.enging.com/node/210
dinopmi

4

Bí mật của hiệu suất Drupal là trong bộ nhớ đệm và tuân theo các thực tiễn tốt. Gợi ý:

Drupal back-end

  • Kích hoạt bộ đệm trong phần Hiệu suất .
  • Kiểm tra hiệu suấthiệu suất và khả năng mở rộng mô-đun Danh sách kiểm tra .
  • Kiểm tra các tùy chọn và danh sách kiểm tra tối ưu hóa hiệu suất của Drupal 7 .
  • Vô hiệu hóa các mô-đun không được sử dụng và không sản xuất (chẳng hạn như Devel, UI UI, Rules UI, v.v.).
  • Vô hiệu hóa các mô-đun không ổn định.
  • Vô hiệu hóa số liệu thống kê .
  • Vô hiệu hóa mô-đun lõi dblog và thay thế bằng syslog .
  • Vô hiệu hóa mô-đun lõi Update Manager .
  • Cron: Sử dụng cron dựng sẵn của Drupal, không phải poormanscron (xem xét Elysia hoặc Ultimate cron).
  • Lượt xem: Sử dụng bộ đệm cho các lượt xem ở các lớp khác nhau (truy vấn cơ sở dữ liệu, đánh dấu, dựa trên thời gian).
  • Khối: Sử dụng bộ đệm ẩn khối nếu chế độ xem của bạn là một khối (trên mỗi trang, người dùng, v.v.).
  • Khối: Xem xét điều chỉnh cài đặt bộ đệm cho mỗi khối bằng mô-đun Block Cache Alter .
  • Các bảng: Sử dụng bộ đệm càng nhiều càng tốt (đối với D7, hãy kiểm tra các mô-đun PCC & PHC ).
  • Thực thể: Kích hoạt bộ đệm Thực thể .
  • Khi sử dụng nhiều môi trường, hãy xem xét mô-đun bị thiếu có thể cải thiện tải trang.
  • Cho phép bộ đệm trang người dùng được xác thực với mô-đun Authcache .
  • Tránh chuyển hướng làm chậm trải nghiệm người dùng.
  • Tăng cường vô hiệu hóa bộ đệm bằng cách sử dụng mô-đun hết hạn .
  • Sử dụng hồ sơ PHP trước khi sản xuất (ví dụ XDebug ).

Mặt trước của Drupal

  • Tối thiểu hóa các yêu cầu HTTP bằng cách:
  • Cân nhắc việc tạo một số JavaScript và CSS bên ngoài (trong một số trường hợp nhanh hơn).
  • Giảm thiểu JavaScript và CSS (xem: Mô-đun tốc độ ). Tránh nội tuyến.
  • Khi tham chiếu một JS, sử dụng một trong hai deferhoặc asyncthuộc tính.
  • Giảm thiểu số lượng iframe.
  • Tối ưu hóa hình ảnh, phông chữ, CSS Sprites, làm cho favicon nhỏ có thể lưu vào bộ nhớ cache và giảm kích thước cookie.
  • Giảm số lượng phần tử DOM và tham chiếu bộ đệm cho các phần tử được truy cập.
  • Làm cho các trang 404 của bạn tải nhanh hơn bằng cách sử dụng mô-đun Fast 404 .
  • Kích hoạt tính năng tổng hợp và lưu trữ tài nguyên phía trước với Tập hợp CSS / JS nâng cao .
  • Đặt biểu định kiểu ở trên cùng và tập lệnh ở phía dưới.
  • Thêm một tiêu đề hết hạn hoặc tiêu đề Cache-Control , cũng là ETags để giảm các phản hồi.
  • Sử dụng GET cho AJAX và làm cho chúng được lưu trong bộ nhớ cache.
  • Tải trước các thành phần và tải sau để tận dụng thời gian trình duyệt không hoạt động.
  • Đôi khi chia tách các thành phần trên các miền có thể tối đa hóa tải xuống song song.
  • Không chia tỷ lệ hình ảnh trong HTML và giữ các thành phần dưới 25k.
  • Tránh Bộ lọc, Biểu thức CSS, các thành phần HTML có src hoặc href trống.
  • Sử dụng proxy ngược để gỡ lỗi các yêu cầu web của bạn (ví dụ Charles ).
  • Sử dụng các công cụ như Y-Slow và PhantomJS để kiểm tra hiệu suất cơ bản.
  • Sử dụng các công cụ Google PageSpeed để phân tích và tối ưu hóa trang web của bạn.
  • Đọc về thông số kỹ thuật thời gian điều hướng W3C ( GitHub ).

PHP

  • Kích hoạt bộ đệm ẩn PHP (ví dụ OpCache , APC ) và chỉnh sửa cài đặt.
  • Cân nhắc sử dụng PHP-FPM thay vì mod_php cộng với Nginx thay vì Apache.

Cơ sở dữ liệu

Người phục vụ

Trang web có lưu lượng truy cập cao

Nếu bạn mong đợi tải cao cho trang web của mình, hãy sử dụng Varnish. Cũng xem xét sử dụng CDN.

Đọc thêm tại: Kinh nghiệm trong thế giới thực về nhân rộng và điều chỉnh hiệu suất


Tài nguyên khác:


3

Có một cuốn sách tên là Drupal hiệu suất cao cung cấp các thực tiễn, ví dụ tốt nhất và giải thích sâu sắc để giải quyết một số vấn đề về hiệu suất và khả năng mở rộng. Bạn sẽ tìm hiểu cách áp dụng các kỹ thuật mã hóa và cơ sở hạ tầng cho nội bộ Drupal, hiệu suất ứng dụng, cơ sở dữ liệu, máy chủ web và phân tích hiệu suất.

Trong bài viết về Hiệu suất và Khả năng mở rộng trong Drupal 7, bạn có thể tìm thấy một số ví dụ về Drupal 6 và Drupal 7 và danh sách sau đây:

Các dự án hiệu suất và khả năng mở rộng của Drupal 7 sẽ xem:


2

Đã có rất nhiều điều chỉnh để tối ưu hóa hiệu suất của trang web Drupal của bạn - nhưng không phải tất cả đều là bắt buộc. Chúng tôi phải xem xét xung quanh các lựa chọn và kỹ thuật nhất định sẽ dẫn đến một nền tảng tối ưu hóa của Drupal. Cache, vâng, đó là một cách để tối ưu hóa trang web thông qua các phương tiện khác nhau nhưng một số tiện ích và mẹo bổ sung khác có thể tăng và điều chỉnh trang web của bạn mà không gặp phải các quy trình miễn phí rắc rối nào.

Chúng tôi đã xuất bản một bài viết tương tự với trang web của chúng tôi gần đây mà tôi tin rằng có thể giúp bạn thực hiện một số công việc chỉnh sửa.

Nguồn: http://www.cloudreviews.com/blog/drupal-performance-optimization-tips


2

Có một số khả năng để cải thiện tốc độ Drupal ở mức hợp lý bằng cách không cài đặt bất kỳ mô-đun mới nào. Có, Drupal có cấu hình hiệu suất.

  1. Bạn có thể thiết lập điều này bằng cách truy cập: YourSiteDomain / admin / config / Development / Performance
  2. Bật 'Trang bộ nhớ cache cho người dùng ẩn danh' trong mục Chaching
  3. Tuổi thọ bộ nhớ cache tối thiểu: 1 ngày (Nếu bạn không cập nhật thường xuyên)
  4. Hết hạn các trang được lưu trong bộ nhớ cache: 1 ngày (Nếu bạn không cập nhật thường xuyên)
  5. Bật 'Nén các trang được lưu trong bộ nhớ cache'
  6. Bật 'Tổng hợp và nén các tệp CSS'
  7. Bật 'Tổng hợp các tệp JavaScript'

  8. Khi cấu hình này được đặt, hãy truy cập: YourSiteDomain / admin / báo cáo / trạng thái

  9. Kiểm tra xem có bất kỳ vấn đề cấp phép nào cho các thư mục 'css' và 'js' không
  10. Sửa quyền như được định nghĩa trên trang Báo cáo trạng thái

Và bây giờ bạn đã hoàn thành việc tối ưu hóa tốc độ cho trang web drupal 7 của mình.

Có vài công cụ kiểm tra tốc độ trực tuyến để kiểm tra tốc độ. Đảm bảo sử dụng một trong các công cụ kiểm tra tốc độ và chạy thử trước khi cập nhật các cài đặt ở trên. Và một lần sau khi bạn đã cập nhật cài đặt hiệu suất, hãy chạy lại kiểm tra tốc độ. Bạn chắc chắn sẽ thấy sự cải thiện.

Pingdom và HTTP Fox (plugin FireFox) là những công cụ tốt nhất để kiểm tra tốc độ trang web.

Các cài đặt ở trên không chỉ lưu trữ các trang của bạn cho người dùng ẩn danh, Nó còn nén các tệp CSS và JS. Ví dụ: nếu trang web của bạn đang tải 80 tệp, hãy đăng các cài đặt này, số lượng yêu cầu sẽ giảm xuống ít nhất 50%, vì vậy ở đây bạn đã cải thiện tốc độ gấp 2 lần trên trang web Drupal của mình.


2

Là một nhà phát triển phụ trợ, luôn có chỗ để cải thiện mã của bạn để tăng hiệu suất của trang web. Một số hướng dẫn cho nhà phát triển phụ trợ có thể là:

1) Làm sạch bảng watchdog của bạn

2) Đừng lạm dụng API biến

3) Thực hiện các yêu cầu HTTP ít hơn hoặc tốt hơn

4) Giữ "mô-đun chấm" của bạn ngắn

Khi nói đến cuối phông chữ và các nhà xây dựng trang web có thể đạt được nhiều hơn nhưng điều quan trọng là phải xem xét hiệu suất từ ​​mọi quan điểm.

Nguồn: Tối ưu hóa trước khi bạn phát trực tiếp


2

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.