LinuxTag 2004 June 24th, 2004. Karlsruhe, Germany
Transcript of LinuxTag 2004 June 24th, 2004. Karlsruhe, Germany
eZ publish and performance
LinuxTag 2004
June 24th, 2004. Karlsruhe, Germany
Derick Rethans <dr (at) ez (dot) no>
Slide 1/17 September 15 2004Questions
Questions?
- 2 -
Slide 2/17 September 15 2004Challenge: Improve eZ publish 3.3 performance
o Too much memory usageo Too much CPU usage
- 3 -
Slide 3/17 September 15 2004Accelerating: APC
o Acceleraters store PHP 'Byte Code'o Shared Memoryo Faster Execution
- 4 -
Slide 4/17 September 15 2004The Hunt for Speed
o Xdebug: a tool to debug PHPo Tracing function callso Profiling Applications
- 5 -
Slide 5/17 September 15 2004Tracing the Problems
o Xdebug's Trace Featureso Trace function callso Provides details on memory usage
- 6 -
Slide 6/17 September 15 2004Xgui
o Simple Tracefile Browser
- 7 -
Slide 7/17 September 15 2004Finding the Bottleneck
o Xdebug's Profiling Featureso GUI analysing with KCachegrindo Provides details on CPU usage
- 8 -
Slide 8/17 September 15 2004Speeding up
o Processed Templates est morto Viva la Compiled Templates
- 9 -
Slide 9/17 September 15 2004Reducing Memory Usage
o Processed vs. Compiled Templateso Loading Data Types on demando From 11MB to 7MBfunction &create( $dataTypeString )
{ $types =& $GLOBALS["eZDataTypes"]; $def = null;+ if ( !isset( $types[$dataTypeString] ) )+ {+ eZDataType::loadAndRegisterType($dataTypeString);+ }+ if ( isset( $types[$dataTypeString] ) ) { $className = $types[$dataTypeString];@@ -709,6 +716,4 @@ var $Name; }
-eZDataType::loadAndRegisterAllTypes();
- 10 -
Slide 10/17 September 15 2004Accelerating More
o Turck MM Cacheo PHP Acceleratoro Zend Performance Suite
- 11 -
Slide 11/17 September 15 2004Apache Is Slow!
o When you're using PHP as DSO moduleo So use static compiled moduleso or compile with --prefer-non-pic
- 12 -
Slide 12/17 September 15 2004Say Squeeze
o Optimized ./configureo Memory Limito Shorter Patho Use include() in a smarter wayo Ramdisk
- 13 -
Slide 13/17 September 15 2004Static Squids
o Reverse Proxyo Tied into Apacheo Static Generatedo Huge Performance Boosto No 'Dynamic' Content
- 14 -
Slide 14/17 September 15 2004Preview Caching
o Generated on Publisho Static Generatedo First 'hit' is fast[ContentSettings]
PreViewCache=enabled
- 15 -
Slide 15/17 September 15 2004No Indexes for Now!
o Search Engineo Indexing takes Timeo Delay Indexing to Cron Jobo Publishing is Faster[SearchSettings]
DelayedIndexing=enabled
- 16 -
Slide 16/17 September 15 2004For the Future
o Static .html generation part of eZ publisho Further Optimizations (Template Compiler, Memory Usage)o Clustered Object Cachingo SRM
- 17 -
Slide 17/17 September 15 2004Resources
These Slides: http://pres.derickrethans.nl
Xdebug site: http://xdebug.org
Non-pic: http://news.php.net/php.internals/9828
eZ publish: http://ez.no
Questions?: dr (at) ez (dot) no
- 18 -
Index
Questions ................................................................................................... 2Challenge: Improve eZ publish 3.3 performance ...................................... 3Accelerating: APC ..................................................................................... 4The Hunt for Speed ................................................................................... 5Tracing the Problems ................................................................................ 6Xgui ........................................................................................................... 7Finding the Bottleneck .............................................................................. 8Speeding up ............................................................................................... 9Reducing Memory Usage .......................................................................... 10Accelerating More ..................................................................................... 11Apache Is Slow! ........................................................................................ 12Say Squeeze ............................................................................................... 13Static Squids .............................................................................................. 14Preview Caching ....................................................................................... 15No Indexes for Now! ................................................................................. 16For the Future ............................................................................................ 17Resources .................................................................................................. 18