experience in drupal, nginx and varnish project manager i20.biz company [email protected] ruslan isay
TRANSCRIPT
Experience in Drupal, Nginx and Varnish
Project manager
i20.biz company
Ruslan Isay
Спонсоры
•Генеральный спонсор
Серебряный спонсор Серебряный спонсор
Бронзовый спонсор Бронзовый спонсор
Организатор
Agenda
1. Server
2. Cache
3. Content
4. User
5. Developer
6. Bonus
Requirements
More than 500 000 actual pages
800 000 of registered users
About 150 000 pages changed every month
ALWAYS serve pages quickly
Servers architecture
NO Apache
Servers architecture
Servers architecture. Solutions
Varnish:
• no persistent storage
• flexible ESI, cache and TTL configuration
• fast memory cache
Servers architecture. Solutions
Nginx:
• persistent file storage
• hard to configure
• load balancing
• fast static cache
Servers architecture
Cache lookup
Cache refresh
• frequently page content updates
• fast appearance of new content on many pages
• quick response for user interaction
• regular changes
Hot news
• Panels
• Panels Everywhere
• edge side includes (ESI) integration
• panes
• one pane style plugin to rule all ESI
Hot news
Just manage
layouts...
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
User events
• comments
• votes
• counters
• user profile info
• user favorites
• node ratings
• content management
User events
Solution - trigger PURGE/BAN of ESI, static file
cache by URL
Modules - Purge + Cache expiration + Rules
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...
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
Bonuspack. Security - CSRF
• tokens - not available
• no proven solution
• may be tokens by ESI and custom script?
Credits
Aleksey Khodakovskiy - Drupal ideas
Alexander Kuznecov - mega admin
Спонсоры
•Генеральный спонсор
Серебряный спонсор Серебряный спонсор
Бронзовый спонсор Бронзовый спонсор
Организатор