When people talk about page loads times and how an eCommerce site should load within 2 seconds or risk losing customers, the immediate focus is on the code but what about database that sits behind that code?
Sites that look good can often perform badly. If the design is not integrated properly it can cause a lot of recursive rendering which can require a lot of database calls. In addition extensions and customizations can modify the database in ways that make for inefficient access. All up, the modifications you make to Magento to create your unique online experience can create not so unique performance problems.
We see it all the time. A beautiful design that looks great on paper but has not considered the demands of the platform it’s meant for. Developers are then forced to make unnecessary code changes to support it. Or custom functionality that fails to use best practice in database design creating the need for unnecessary tables joins, sorts or searches that chew up temporary table space causing site response to deteriorate the more traffic you get. How about sites that perform well until you load those 50,000 products or start taking 100 orders an hour?
There are lots of basic administrative tasks you can do to fine tune your database such as optimize your tables to reduce overheads and empty logs tables. In addition to these you can monitor your MySQL slow query log which can track database calls that take too long to execute and/or don’t use indexes. Professional monitoring of your site using tools such as New Relic can do this work for you but you need an experienced database administrator who is expert in MySQL and Magento to review the results and fine tune both the schema and the code to really fix the problem.
Got a slow site? Maybe it’s your database!
Find out how we can increase your online profit through optimization of your online business.