Search:
Product reviewZend Platform 2 - Best Server Enhancement Ever?Ian D. MorseZend Platform 2 is the “onion” of the Zend arsenal. Anyone who has seen the movie Shrek knows what I’m talking about—it has layers. The Platform can be installed, and then forgotten about and the benefits will be felt, or you can roll up your sleeves and get your hands dirty with it, and make your Web applications hum. The trick is to peel away the layers and discard what isn’t going to work for you, and focus on what is. Okay, so what is Zend Platform 2? What does it do? How does it work? Here’s what Zend has to say about it: Zend Platform is the only robust PHP production environment that ensures your applications run smoothly at all times. Designed for IT personnel and businesses that require industrial-strength applications in highly reliable production environments, Zend Platform offers high performance and scalability to provide your customers with the best possible Web experience and response time. Zend Platform uniquely guarantees application uptime and reliability through enhanced PHP monitoring and immediate problem resolution that removes the troubleshooting guesswork out of the equation and replaces it with peace-of-mind. You spent time and money developing your state-of-the-art PHP application, now it's time to ensure it’s up and running. The last sentence in the Zend overview sounds like fluffy sales jargon, but it really sums up what the Platform is. Basically, Zend Platform 2 is a bunch of files that sit between your existing PHP engine and your existing PHP scripts. It speeds up script execution, tracks errors or potential errors, and provides you with a really nice web interface to monitor pretty much everything on your server(s). Let’s find out how this is possible. Getting StartedAt the time of writing, this Platform is a non-windows application. Have no fear though, the good people at Zend definitely know what they are doing, and the installation is surprisingly simple. I used Debian Linux for my test. The first thing you’ll need to do is download the Zend Platform 2 package. This is available for a free trial from the Zend website (www.zend.com). If you don’t have an account with them, you’ll have to create one first, but that is free and painless.Now that you have the installation file on your server, it’s time to install it. There is a great Installation Guide available on the Zend site that you can have a look at for very in depth instructions on the installation. The guide is also included in the tar file. Unzip, then unpack the downloaded file like this: gunzip -c That will unzip and unpack the downloaded archive into a new directory with the same name as the package (minus the .tar.gz extension). To start the installation, browse to the newly unpacked directory and confirm that there is an “install.sh” file there. If it’s there, run it using the following command: ./installThe install script should start up a graphical installation wizard. Just follow the onscreen instructions. I’m going to leave the detailed description of the installation process to the Installation Guide as there are about 20 steps, and the Guide covers them very thoroughly and has screen shots as well. However, there are a few things that I will mention:
When the installation is complete, you should be presented with a summary that shows the successful installation of each component. This is where the first layer of the Zend Platform “onion” ends. The average user could stop right here and continue running PHP applications and notice that they seem to run faster, and be content with the results. The inquisitive user will fire up a Web browser and go to the Platform web application and start monitoring, testing, and optimizing, and will enjoy the full benefits of the platform. Peeling the OnionYou can take a look at the Platform Web application by browsing to the URL where you installed it. The default is something like this: http://server name/ZendPlatform. All you have to do is log in (the default username is Admin) with the password that you set up during the installation process. You are greeted with a system summary. This probably looks quite plain the first time you log in. However, just for fun, create some memory-intensive scripts and see what happens. The script I used is shown in Listing 1.
// testing code accelerationI ran this script ten times with Code Acceleration and Dynamic Content Caching on, and ten times with them turned off. Overall, the performance didn’t change drastically when these performance-enhancing controls were turned on. That may seem surprising, but this script doesn’t test request handling, it is just designed to make the Platform pick up on potentially bad code—and that’s exactly what it did! If you navigate back to the “Zend Central” tab, you’ll notice that an event was logged. If you run enough different scripts, you’ll notice that some are actual errors, while some are “Slow Script Execution” events. The time, server that was running the script, and URL are also logged. You can see how this would be a huge help when running a cluster of servers. Clicking on an event pops up a new window with even more details about the script. A detailed breakdown of the time that the script was run, and how long it took is available. The variables that were passed to the file, and included files are also recorded. The icing on cake is that the Zend Platform interfaces directly with Zend Studio for code fixes. Don’t have Zend Studio? No problem, you can also view the code directly in the browser. There are almost too many features and situations to discuss in this article including server clustering and a Java Integration Bridge that (according to Zend’s site) “allows companies who have investments in J2EE application servers to take advantage of PHP.” However, it would be irresponsible to write something like this without providing an accurate benchmark. I’m interested in numbers. Exactly how good is Zend Platform? It’s easy to find out. There is a benchmarking test built right into the system. You can find it under the “Performance” tab. Figure 2 shows the results from one of my Download Server tests. As you can see, the more concurrent requests on the server, the more impressive the results. More than twice the number of requests were handled per second when using the Zend Platform, with 45 concurrent requests. A lower number of concurrent requests yielded less impressive results, but the Platform still came out ahead. Other benchmarking tests include a performance test, compression test, and script test. The results seem to be about the same each time. The Zend Platform comes out ahead with about a 2x improvement compared to non-Platform test. There is one important disclaimer that the Platform has on it, “Test results will be relevant only after there is sufficient traffic on the web server, which reflects typical site usage.” I’m still impressed by the package as a whole. SummaryZend Platform 2 is a well designed, cutting edge server layer that adds speed and reliability to any PHP application. Operations of any size can enjoy benefits from using the Platform, but it seems like only very large, high-traffic sites will have really noticeable results. This is a must for anyone who has to make the most out of the hardware resources that they have, or finds that server monitoring is becoming a burden. The efficiency of request handling for large traffic sites using the Platform is very significant.About the authorIan Morse lives in Prince Edward Island, Canada. He owns and operates a web system development and consulting company there. Ian’s web site is at: www.geckoware.com |
|
Subscribe |
Contact Us |
Newsletter |
Privacy policy |
Regulations |
See all issues |
About SDJ
Copyright C 2006 by Software Developer's Journal. All rights reserved.
Copyright C 2006 by Software Developer's Journal. All rights reserved.



SDJ Users:
Shopping Cart









