Ryo Chijiiwa, Author/Project Manager, IlohaMail.org
Date: Thursday, July 29
Time: 5:20pm - 6:05pm
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.