Professional Documents
Culture Documents
Boost Drupal Performance by Rumen Yordanov
Boost Drupal Performance by Rumen Yordanov
By Rumen Yordanov
OpenSource Department Manager at
Propeople
Facts about me
• Rumen Yordanov
• OpenSource Department Manager at
Propeople
• Working with Drupal since 2007
• PHP and Mysql Certified Engenieer
• Web development since 2000
• Participate and presenting at Drupal Events
Facts about Propeople
• Danish full service web agency
• 70+ brains
• CPH, Sofia, Chisinau, Sweden, SF, Ukrane
• Drupal, Magento, SiteFinity, EPiServer,
MOSS
• Acquia Enterprise Select & Microsoft Gold
• Berlingske, Amnesty, UNICEF, FDM, Saxo
Bank, Arla Foods, Mærsk, Egmont, SBS
Why is this important?
What we can do
• http://mirror.facebook.net/facebook/xhprof
• Inlcuded in latest Devel module
• Not compatible with full page cache( devel
version )
Profiling Drupal
• Small D6 installation
• Only core modules enabled
• Profile node/1
• Enable some of the most used module
• Profile node/1
Profile Drupal 6
Profile D6
Profiling Drupal
• Bootstrap process takes more time with
increasing the numbers of installed modules
• Sides effect 404 and ajax callback takes
resources and are and will execute at least for
the time of bootstrapping
• Your custom code will just add time to
bootstrap process
Choosing cache strategy
• Full page cache – have side effects but is most
effective
• Advantages
- really fast
- give you Ajax framework for fast callbacks
• Things to consider
- are your pages cacheable
- side effects
Invalidating cache
• Memcache
• Search
• Statistics
• Live data
NoSQL( MongoDB)
• Accelerate PHP
- APC
- XCache
- HipHop
Optimize LAMP Stack
• Really fast
• Highly flexible configuration
• Lots of tools to debug and profile
• Edge side includes
Varnish
Varnish
• When to use edge server includes
- when you have different ttl for elements in the
page but the content is shared
• Things to consider
- They will take resources ( make smart
callbacks )
- the end user must wait till all requests are
processed
Monitoring
• Why is important
• Cacti
• Munin
• Google Analytics
Stress tests
• Why are they important
- Determine capacity
- Early detect of errors
• Much easier to make today(
http://loadstorm.com )
Web Browser Optimizations
?
Want to learn more?
Drupal Thursdays
For you that want to learn advanced Drupal from the
developers and themers in Propeople.
We’re hiring
• Team Lead / Senior PHP developer
• PHP / Drupal developers
• Senior HTML developer