The phone rang recently and on the other end was New West, an online publication that covers Montana, Idaho, Colorado, Wyoming, Utah and so forth. Their site was built in ExpressionEngine, and they wanted someone who could do development on small projects for them when their main developer was working on bigger site changes.
We said yes, and undertook the first project: A “doctor’s second opinion” analysis of their current site architecture, to figure out if there was any way they could improve their site’s performance. Like with many new media sites, traffic at New West has not been its own reward: more page views and people visiting always means more expense and the need for bigger hardware. And bigger hardware also often means the dread “M” word: migration. So New West wanted a consultation before they made any big changes.
The main site developer had done an excellent job of making the site efficient in dozens of ways, but with our fresh eyes and our extended experience with ExpressionEngine in production environments, we were able to spot several additional technniques to optimize the site’s code.
One optimization we found was that a vestigial bit of code was intermittently adding very small row of data to an indexed database table, and had been doing so for months; meanwhile, the code to clear the table had been removed. By the time we analyzed it, the table had grown to 6,700,000 records. Adding data to a table is fairly simple, but indexing that much data can be a drain on resources if not done properly. By carefully isolating the cause, and determining the least disruptive method of disabling that behavior, we were able to improve database performance measurably—and cut the time and space needed for backups as well.
Site performance—and the factors that influence it—can be notoriously hard to pin down, but it’s likely that our changes will ensure the site can handle increased traffic, especially at peak times, on the current hardware.
What’s the bottom line outcome for New West? Saving money and improving site performance for their visitors. Code analysis and optimization might not be the “sexiest” thing you can think of doing for your site, but the end results can be quite beneficial.