Drupal 6: Benchmarking and Block Cache Performance Revisited
As a follow up to an earlier article I posted about Drupal 6 performance, and please bear with my learning curve for a moment, I figured out by 'accident', and a lot of investigation, that it matters very much the order one uses when they 'generate content' with the devel module for benchmarking purposes. My previous tests were done incorrectly - I inadvertently created a bunch of nodes that weren't assigned to any terms or users and vice versa. The result of correcting this error means that a no-cache-enabled-baseline takes much longer to complete than when I had things setup incorrectly.
...happily, the point of this article isn't that I'm a total goof.
No, the good news out of this ordeal is that now when block-cache-disabled performance is compared to block-cache-enabled performance the results are MUCH more substantial than previously noted (and thus Drupal 6 is going to be that much faster than it's predecessor Drupal 5 for authenticated users):
2489.69 ms (request time for auth user, no-caching of any kind)
-878.09 ms (request time for auth user, block-caching on)
--------
1,611.6 (difference) / 2489.69 =
64.73% improvement w/ block cache on
With the block caching on, the mean processing time is 876 ms with a sd of 91.9 ms while the base install results in 2481 ms mean processing time and sd of 91.9. Even at the upper end of the standard deviation, the block-cached processing time is 967.9 ms, which is far below the low end of the standard deviation (2080.1 ms) for the non-block-cached test. Looks like a clear improvement - 64.7 percent improvment using just the means.
The benchmarks are posted here so that everyone can do their own math. If you'd like to check the validity of my installation/numbers - feel free to download a tarball which includes all the files and a db dump. Username/pass for user 1 = superadmin
BENCHMARKS
Benchmarks using 10,000 nodes, 5000 comments, 15 categories, 250 terms, 2000 users and with the following blocks enabled:
BLOCKS ENABLED
Recent comments
User login
Navigation
Active forum topics
New forum topics
Who's online=====
AUTHENTICATED USER - NO CACHE
Concurrency Level: 5
Time taken for tests: 248.969 seconds
Complete requests: 500
Failed requests: 0
Broken pipe errors: 0
Total transferred: 9719000 bytes
HTML transferred: 9539500 bytes
Requests per second: 2.01 [#/sec] (mean)
Time per request: 2489.69 [ms] (mean)
Time per request: 497.94 [ms] (mean, across all concurrent requests)
Transfer rate: 39.04 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1101 2481 400.9 2575 3733
Waiting: 1101 2481 400.9 2575 3733
Total: 1101 2481 400.9 2575 3733=====
AUTHENTICATED USER - BLOCK CACHE ON
Concurrency Level: 5
Time taken for tests: 87.809 seconds
Complete requests: 500
Failed requests: 0
Broken pipe errors: 0
Total transferred: 9709500 bytes
HTML transferred: 9530000 bytes
Requests per second: 5.69 [#/sec] (mean)
Time per request: 878.09 [ms] (mean)
Time per request: 175.62 [ms] (mean, across all concurrent requests)
Transfer rate: 110.58 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 539 876 91.9 874 1382
Waiting: 539 876 92.0 874 1382
Total: 539 876 91.9 874 1382

Bravo
Bravo
Looks very impressive :) I
Looks very impressive :) I am glad that my little benchmarking text is being picked up.
It is now officially in :
It is now officially in : http://drupal.org/cvs?commit=7... - Yay !
Thanks Caleb for your help on this :-)
Right on!
Good work yched. :)
Post new comment