Ruslan Isay, a project manager from i20.biz company, presented on their experience with Drupal, Nginx, and Varnish for a website with over 500,000 pages and 800,000 users. Their solution involved using Varnish for caching and Nginx for file storage and load balancing. They discussed using edge side includes (ESI) and custom modules to dynamically refresh cache for frequently updated content like user comments. Rules and cache expiration modules were used to purge cache when content changed.
1 of 22
More Related Content
опыт использования схемы Drupal+varnish+nginx руслан исай
1. Experience in Drupal, Nginx
and Varnish
Ruslan Isay
Project manager
i20.biz company
isay.r@i20.biz
11. Cache refresh
• frequently page content updates
• fast appearance of new content on many pages
• quick response for user interaction
• regular changes
12. Hot news
• Panels
• Panels Everywhere
• edge side includes (ESI) integration
• panes
• one pane style plugin to rule all ESI
14. Hot news
• module d.o/project/esi not used
• custom integration module
• hook for url arguments by pane type
• expiration by TTL
• pane type as ESI url part - custom TTL
• programmatic ESI control
15. User events
• comments
• votes
• counters
• user profile info
• user favorites
• node ratings
• content management
16. User events
Solution - trigger PURGE/BAN of ESI, static file
cache by URL
Modules - Purge + Cache expiration + Rules
17. Support & deploy
• ESI urls and callbacks back support
• stubs for future features
• AJAX/AHAH urls and callbacks back support
• scripts for "smooth" static cache regeneration
• mistake cost multiplied - always think twice...
18. Bonuspack. Usercache
• all cache (user/anonym) - the same
• user-specific blocks by ESI
• pass Drupal UID with COOKIES to JS for
manage "cosmetic" render
• manage cache exceptions
19. Bonuspack. Security - CSRF
• tokens - not available
• no proven solution
• may be tokens by ESI and custom script?