O'Reilly Open Source Convention
Books Safari Bookshelf Conferences O'Reilly Network

Arrow Home
Arrow Registration
Arrow Speakers
Arrow Keynotes
Arrow Tutorials
Arrow Sessions
Arrow At-a-Glance
Arrow Wiki
Arrow BOFs
Arrow Events
Arrow Exhibitors
Arrow Sponsors
Arrow Hotel/Travel
Arrow Venue Map
Arrow See & Do
Arrow Tips for
Arrow Press
Arrow Mail List



Adaptive Performance Optimization Techniques for Large PHP Applications
Ryo Chijiiwa, Author/Project Manager, IlohaMail.org

Track: PHP
Date: Thursday, July 29
Time: 5:20pm - 6:05pm
Location: Columbia


Coding performance optimizations for widely distributed and deployed PHP web applications can be a particularly difficult task. Since the software can be deployed on a diverse range of platforms and configurations, it becomes nearly impossible to make the kind of assumptions that are often necessary in choosing the right optimization techniques at the time of development. Many techniques have trade-offs, which are assumed desirable in some situations, but when those assumptions do not apply, they may merely cause more overhead.

This is particularly true for a webmail application like IlohaMail. A simple individual user might install it on a six year-old consumer desktop PC that also runs a mail server, and then access the interface from the same machine. On the other hand, a large-scale installation might involve multiple web servers, mail servers, a database server, NFS server, and clients who connect through anything from a 28.8Kbps modem to a 100Mbps LAN connection. A simple technique where output size is minimized may help the modem user, but any incurred overhead will only hurt the LAN user. Minimizing communication between the mail server and web server will help large installations, but may only add overhead for the user who has both servers on the same machine.

In the spirit of "Discover, Develop, Deliver," this talk will examine some adaptive performance optimization techniques, using IlohaMail as a real-world test case. Specifically, we will look at techniques for developing a dynamic mechanism capable of automatically discovering potential bottlenecks and selecting the most suitable optimization strategies in order to deliver the best performance for a wide range of configurations.

O'Reilly Home | Privacy Policy

© 2004, O'Reilly Media, Inc.