... h2. Updated 1 March 2008!!
Several responses since our last round of testing: * *Can you generate a more "real-world" workload?* Sure can! Results below (which mirror earlier results) are done with the following workload mix (which, while not yet 'perfect', are much more 'real world' than before): # 58% non-logged-in hits to the Drupal instance's front-page # 29% non-logged-in hits to a random content page # 13% logged-in hits, once again to the front-page
* *How do you explain the scaling difference?* We're pretty sure at this point, that most of the difference lies in the fact that the Coolstack 1.2 version of MySQL used under Solaris is much more optimized 'out of the box' for the type of usage Drupal needs.
h5.Intent: Characterize Performance of Drupal on Solaris 10 vs Linux, without tuning (i.e., 'out of the box' experience)
||Hardware Used||Sun Fire X2100 server; 1x2.2GHz dual-core Opteron; 4GB memory|| |Drupal Version|Drupal 5.3| |Drupal Database|2000 users, 5000 nodes, 10000 comments, 250 vocabulary items; 15 vocabularies\\(generated with Drupal 'devel/generator' module)| |Alternative PHP Cache Enabled|PECL APC 3.0.15| |Load Generator|Faban 'fhb' 0.9 (022608 build)([check it out!|http://faban.sunsource.net])| |Nature of Workload|58% guest frontpage; 29% anonymous random page; 13% logged-in frontpage|
|| ||Solaris AMP||Linux AMP|| |Operating System|Solaris 10u4\\(within non-global zone)|SLES 10.1| |AMP Stack|Coolstack 1.2:\\ Apache 2.2.6\\ MySQL 5.0.45 (64-bit)\\ PHP 5.2.4|Bundled AMP:\\ Apache 2.2.3\\ MySQL 5.0.45 (64-bit) (note: see below)\\ PHP 5.1.2| |Max Ops/sec|26.8 @ 49 users|12.4 @ 13 users| |Max Users with no '503' errors'|94 users|13 w/some; 50 otherwise|
!lamp030108a.jpg! !lamp030108b.jpg! !samp030108a.jpg! !samp030108b.jpg!
h5. Notes * All components, including load generator, reside on the same server (or Zone) * MySQL version updated on SLES for 'apples-to-apples' comparison; version bundled with SLES 10.1 is the much older 5.0.26, which yielded lower performance * In both cases, CPU quickly maxed out, with MySQL server the primary culprit * Disk usage never rose over 10% busy
h5. Discussion
Overall, it is clear that 'out of the box' Drupal performance on SAMP bests that of LAMP on identical hardware: # Max throughput: 2X difference # Load which exceeds 1 second response time: 2X difference # Load which causes server to throw 'Service Unavailable' errors: 8X difference This does *not* mean that performance tuning up and down the software stack would not change these results - it would. But for those who have asked us 'how does Drupal performance vary between Solaris and Linux', this provides the best initial (and, we hope, impartial) indication |