Benchmarking Zend Server Community Edition with Drupal
Zend have had their own proprietary PHP server product for quite some time now. This week, they announced their Zend Server Community Edition, with the intention to disrupt Java, and grow PHP specially in the current economic conditions.
Since they a) offered DEB packages, b) supported Ubuntu Server, and c) had a zero cost community edition, there was no hesitation on our part to give it a road test and see how it compares to the free/open source alternatives. Zend's Optimizer has been long known to offer really good performance.
So, we decided to benchmark Zend Server Community edition with Drupal 5.x against Apache PHP fcgid with APC, which we have benchmarked recently.
We used our in house lab servers. They are two physical boxes, each with a Quad core AMD and 4GB of RAM. One server is a web/application server, and the other is database server. They are interconnected
Both servers are configured with 64-bit Ubuntu Server 8.04.2.
For Drupal, we used a copy of a client site that we recently optimized that ran Drupal 5.x.
Installing Zend Community server was fairly easy, and well documented for DEB on Zend's site.
However, since we got conflicts because PHP was already on the server, we opted to remove PHP manually first via the command:
We then installed Zend using the following command:
The installation ran successfully except for the error:
This was leftover from out fcgid install, described in more detail in the aforementioned link. So, we just ran a2dismod and disabled fcgid.
We used Siege to simulate 10 concurrent users, logged in, and hammering the site as fast as they could for a total duration of 2 minutes.
Apache fcgid PHP with APC
Zend Server Community Edition
Resource utilization was comparable in both cases overall. Memory utilization per php-cgi process was 86M vs. an overall size of 50M per Apache process when Zend is used.
However, since Siege does not request the static files that compose the page (e.g. .css, .js, media files, ...) the impact of these components being requests and the overall server utilization with the default Zend configuration were not assessed in this benchmark, which focused on Zend as mod_php.
Zend Server Community Edition is faster than PHP with APC in fcgid by about 15%. Installation is fairly easy. It is a strong candidate for those who want to run Drupal and are not bothered by running a closed source version.
In the future we would like to explore Zend mod_php vs. Ubuntu's Apache mod_php, and Zend fcgid vs. Ubuntu's fcgid. If you do run those benchmarks, please add a comment below.
Is your Drupal site slow?