6.2 PHP - Zend Core for i
This section discusses the different performance aspects of running PHP transaction based applications
using Zend Core for i, including DB access considerations, utilization of RPG program call, and the
benefits of using Zend Platform.
Zend Core for i
Zend Core for i delivers a rapid development and production PHP foundation for applications using PHP
running on i with IBM DB2 for i or MySQL databases. Zend Core for i includes the capability for Web
servers to communicate with DB2 and MySQL databases. It is easy to install, and is bundled with Apache
2, PHP 5, and PHP extensions such as ibm_db2.
The PHP application used for this study is a DVD store application that simulates users logging into an
online catalog, browsing the catalog, and making DVD purchases. The entire system configuration is a
two-tier model with tier one executing the driver that emulates the activities of Web users. Tier two
comprises the Web application server that intercepts the requests and sends database transactions to a
DB2 for i or MySQL server, configured on the same machine.
System Configuration
The hardware setup used for this study comprised a driver machine, and a separate system that hosted
both the web and database server. The driver machine emulated Web users of an online DVD store
generating HTTP requests. These HTTP requests were routed to the Web server that contained the DVD
store application logic. The Web server processed the HTTP requests from the Web browsers and
maintained persistent connections to the database server jobs. This allowed the connection handle to be
preserved after the transaction completed; future incoming transactions re-use the same connection
handle. The web and database server was a 2 processor partition on an IBM System i Model 9406-570
server (POWER5 2.2 Ghz) with 2GB of storage. Both IBM i 5.4 and 6.1 were used in the measurements,
but for this workload there was minimal difference between the two versions.
Database and Workload Description
The workload used simulates an Online Transaction Processing (OLTP) environment. A driver simulates
users logging in and browsing the catalog of available products via simple search queries. Returning
customers are presented with their online purchase transactions history, while new users may register to
create customer accounts. Users may select items they would like to purchase and proceed to check out or
continue to view available products. In this workload, the browse-buy ratio is 5:1. In total, for a given
order (business transaction) there are 10 web requests consisting of login, initiate shopping, five product
browse requests, shopping cart update, checkout, and product purchase. This is a transaction oriented
workload, utilizing commit processing to insure data integrity. In up to 2% of the orders, rollbacks occur
due to insufficient product quantities.
Restocking is done once every 30 seconds to replenish the product
quantities to control the number of rollbacks.
Performance Characterization
The metrics used to characterize the performance of the workload were the following:
IBM i 6.1 Performance Capabilities Reference - January/April/October 2008
©
Copyright IBM Corp. 2008
Chapter 6 - Web Server and WebSphere
88