Rasmus Lerdorf, the inventor of PHP, addressed the Carson Future of Web Applications conference in London last month. PHP is used by more than 19 million domains, according to Netcraft, and is the most pervasive server-side scripting technology on the web.
Despite the name of the conference, Lerdorf focused on seemingly humdrum topics such as performance, which he single out as a common reason for the failure of web applications.
“Your site has to be fast,” he said. “You can’t have a site where you click on something, and then you’re wondering hey, did I actually click?”
It is a point that too often gets overlooked. The most obvious aspects of a web site or application are its design and features, yet performance is a huge factor in usability. People are reluctant to return to sites that are slow. This helps to explain why Microsoft Live is failing to compete with Google: according to statistics site Alexa.com, Google rates as very fast, with an average load time of just under a second, compared with 2.5 seconds for Microsoft’s search site.
A performance problem may not be apparent until the site goes live. Last week, the wholly owned Borland subsidiary CodeGear put on a virtual conference for its developers, called CodeRage. Virtual conferencing is an idea whose time has come, especially as we become more aware of the environmental cost of travel. Unfortunately, CodeGear had not checked that it had sufficient bandwidth. A thousand or more developers tried to log in, and nothing worked properly. “The sound was choppy and distorted. I don’t know if there was supposed to be video. It was all black, all the time,” said one attendee. “I’ll wait for the replays.”
What performance is good enough? Lerdorf showed an application that supported 17 requests per second with a latency of 284 milliseconds, where latency is the time between making a request and getting a response. He noted: “284 milliseconds is amazingly bad.” He identified the bottleneck with a profiler, optimised the application, and performance rose to 1100 requests per second with a latency of 3.6 milliseconds. Profiling code can yield great rewards, though it will not help if bandwidth is the issue.
The bottom line is that performance is a feature, and is easy to measure. Profiling and load testing may be dull, but they are at least as important as web design in keeping users happy and coming back for more.






