PHP Accelerators

Events happening in the community are now at Drupal community events on www.drupal.org.
shyamala's picture

PHP Accelerators do not have any additional benefit! Are we doing something wrong? Any special configuration we need for enabling them? What kind of performance benefits can we expect?

Comments

misconfiguration

greggles's picture

This is likely a misconfiguration of the accelerator. Dries posted some numbers about this a while ago: http://buytaert.net/drupal-webserver-configurations-compared

Khalid has also posted some great information on the accelerators: http://2bits.com/articles/benchmarking-drupal-with-php-op-code-caches-ap...

what php version so you

bennos's picture

what php version so you use?
Php as FCgi or mod_php?

If you use PHP as CGI, a typical missconfiguration is to have more the one process. APC only works with one process and several child processes.

2bits articles were an

mmilano's picture

2bits articles were an invaluable resource for me when setting this up. I came up with similar results between APC and e-accelerator in regards to performance and apache process memory usage.

You didn't post how you were testing, or what type of user/page you were testing, but if you have a DB bottleneck, your performance gain for accelerators is going to be less noticeable.

If I recall, from testing an anon user with normal Drupal caching on, my requests per second went from about 75 to 120 on a recent system I setup. Then when testing a logged in user, it was more like a 2 requests per second gain.

Mike Milano

php

Sree's picture

whats your PHP configuration?

Sree

Attached php.ini.

shyamala's picture

Attached php.ini.
What profiler should we use? Is it good to you Zend Studio Profiler. Or should we review the time difference using Devel module. I would prefer to evaluate the performance outside of Drupal

Netlink Technologies Ltd
http://shyamala-drupal.blogspot.com/

Use Both

Jamie Holly's picture

Devel Module is good for finding slow queries. A PHP Profiler (Zend, Xdebug, etc.) is good for finding slow points in code execution.

Looking at your PHP.INI file, I don't see any accelerators being used. Which accelerator are you trying? Here is the php.ini section from one of my servers using APC:

[apc]
extension = apc.so
apc.shm_segments=1
apc.optimization=0
apc.shm_size=64
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1


HollyIT - Grab the Netbeans Drupal Development Tool at GitHub.

Check the performance logging modules

kbahey's picture

If you have APC active, you can use the performance logging module, with almost no overhead at all.

You then put the site under stress using siege or ab or jMeter.

After that you copy and paste the results to a spreadsheet and sort by average page execution time, average memory utilization, and see which pages are the most sluggish.

The module can also tell you how many queries each page took, and how much database execution time as well. However, this enables the query log inside Drupal, which can increase memory usage per page, so beware of that.

You can see screenshots at Performance logging: a module to log performance statistics for Drupal.

Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.

Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.

Extension as APC can also be

bennos's picture

Extension as APC can also be loaded as automatically included file from an directory. This depends on your installation.

Have a look at the PhP Info output. All extension and all included files are listed.

High performance

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: