Tôi sử dụng BOA cho các trang web của mình, nhưng theo mặc định, BOA chỉ đơn giản là vô hiệu hóa bộ đệm ẩn phía trước khi đang bay để gửi biểu mẫu. Ngoài kinh nghiệm thực tế của tôi, tôi đã gặp một nhân viên một năm tuổi về cách Bưu điện New Zealand đối phó với Drupal & Varnish và vấn đề mã thông báo mẫu. Holy John Wayne, nó phải đọc cho bộ nhớ đệm Drupal - thực sự. Chỉ tập trung vào vấn đề hình thức:
Phần cuối cùng cho câu đố của chúng tôi là mô-đun Cookie Cache Bypass Advanced , tự động đặt cookie NO_CACHE đặc biệt bất cứ khi nào người dùng gửi biểu mẫu POST trên trang web, bao gồm những thứ như biểu mẫu đăng nhập. Varnish của chúng tôi được cấu hình để bỏ qua bộ đệm trang (nhưng không phải bộ đệm ESI) khi thấy cookie này.
Bạn cũng có thể vô hiệu hóa mã thông báo biểu mẫu khi sản xuất XSRF không được yêu cầu trong form_alter (unset ($ form ['# token']);) hoặc ($ form ['# token'] = FALSE;)
Một bài viết về hiệu suất của Dria Drupal đưa ra Authcache Module Authcache , nhưng đọc tài liệu trên Authcache, nó sẽ tìm ra bộ đệm với một trình giữ chỗ cho biểu mẫu (không lưu vào biểu mẫu)
Authcache cố gắng chặn mọi nội dung tùy chỉnh và thiết lập trình giữ chỗ trong HTML. Sau đó, sau khi trang được tải, một cuộc gọi lại Ajax được sử dụng để truy xuất dữ liệu tùy chỉnh và điền vào chỗ dành sẵn, tự động cập nhật HTML trang.
Trình giữ chỗ Authcache hiện tại: Mã thông báo mẫu (chỉ người dùng đã đăng nhập; được yêu cầu bởi> Drupal để ngăn chặn các cuộc tấn công giả mạo yêu cầu chéo trang web)
Chiến lược là, lưu trữ mọi thứ trừ hình thức . Vì vậy, giải quyết mọi thứ khác: Có lẽ Varnish hoàn toàn không được sử dụng, Memcache & Redis? Chiến lược của tôi sẽ là sử dụng những gì BOA cung cấp bởi vì tôi sử dụng BOA và các pháp sư đằng sau nó ( omega8.cc ) biết nhiều hơn tôi. Tôi không nghĩ rằng có một bộ đệm ngoài giải quyết vấn đề. Tất cả họ dường như bỏ qua cho các hình thức.
Thực hiện lưu trữ bộ nhớ cache một phần với authcache đã nói ở trên và với Chế độ xem và Bảng điều chỉnh được tinh chỉnh như được đề cập trong bài viết của New Zealand và được mô tả bởi bộ não tin tưởng tại Wunderkraut - nhưng nó đã giải quyết được vấn đề.
Sử dụng Mô-đun Drupal ESI và Varnish tuân thủ một phần ESI):
ESI - hay Edge Side Bao gồm - là một giải pháp bộ nhớ đệm hiệu suất cao cho người dùng Xác thực nhưng cũng có thể hữu ích cho người dùng Ẩn danh.
Thông thường, các trang được cá nhân hóa cho người dùng được xác thực (ngay cả các cá nhân nhỏ, chẳng hạn như một khối có nội dung "Đã đăng nhập như manarth") sẽ ngăn các proxy ngược (có thể dễ dàng thực hiện nhanh hơn 100 lần so với Drupal) vì lưu các trang dành cho một người dùng sau đó có thể được nhìn thấy bởi một người khác.
Hy vọng rằng hữu ích hơn.