RequirementsMore than 500 000 actual pages800 000 of registered usersAbout 150 000 pages changed every monthALWAYS serve pages quickly
Servers architecture NO Apache
Servers architecture. SolutionsVarnish:• no persistent storage• flexible ESI, cache and TTL configuration• fast memory cache
Servers architecture. SolutionsNginx:• persistent file storage• hard to configure• load balancing• fast static cache
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 newsJust managelayouts...
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 eventsSolution - trigger PURGE/BAN of ESI, static filecache by URLModules - 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 formanage "cosmetic" render• manage cache exceptions
Bonuspack. Security - CSRF• tokens - not available• no proven solution• may be tokens by ESI and custom script?
CreditsAleksey Khodakovskiy - Drupal ideasAlexander Kuznecov - mega admin
Thank you for attention Ruslan Isay Project manager i20.biz company email@example.com