Solution: Performance Tuning eZ Publish 4

About

Recommended eZ Publish 4 Apache configuration improvements for best possible production web server performance.

Topics

Application / Web Server

Apache

The basis of Apache PHP application server configuration requires virtual host configuration be stored within Apache solely.

The htacess Problem

The basis of Apache PHP application server configuration best practices for performance is preventing the use of htaccess configuration usage as not-possible as it prevents best practices and reasonable performance.

This is because .htaccess files are check per http request, ie: per file included on webserver from browser within html page (including html page) ie many many times per requested page to set any required httpd / php application configuration variables / conditions / etc (ie: loading the web server configuration) from direct disk access each time (not cached).

This represents a tremendous systemic performance problem that can only be resolved by relocating all configuration changes to the Apache virtual host configuration file and disabling .htaccess file access completely.

Remember htacess files configuration syntax is almost always different than the same applicable syntax within an apche virtual host configuration file.

Disable htaccess

Here is an example of how to disable htacess file access using the AllowOverride None setting. This example would be added within your virtual host configuration file for your we eZ Publish installation within Apache.

<Directory /var/www/path/to/ezpublish>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
</Directory>
Recommended Apache Modules
  • mod_expire - Greatly improves performance
  • mod_rewrite - Greatly improves application server flexibility and provides for clean user friendly aka nice urls.

PHP

I recommend increasing the following default php.ini variables to increase default limits to prevent future performance and upload limits from being reached as the default configuration is insufficient.

  • memory_limit
  • max_input_time
  • upload_max_filesize
  • post_max_size

Database Server

A word on database performance improvements.

  • MYSQL
  • PGSQL
  • ORACLE
  • MSSQL

References

  • Doc: x
  • Article: x
  • Forum: x
  • Forum: x