Often times, a database will become fragmented or bloated. You can use the “Optimize” function in phpMyAdmin to optimize your tables. This will help reduce overhead on the database and increase performance.
For information on how to do this, please click here.
Heavy Graphics and Themes
This also goes for any photos you may have. WordPress already does a good job of making thumbnails of the images you upload, but some gallery plugins may not work the same. Make sure you keep an eye on the size of the images that get uploaded to your website.
Number of Plugins
Using a large number of plugins could cause extra server load. Take careful note of how many plugins you install and what each plugin does. For example, using a plugin such as a tracking plugin that does something every time a page is loaded could cause extra database calls, higher cpu use, and more memory usage. In-turn, when under heavy load, all of this could cause a delay in load times, or pages not to load at all.
If you notice any of the symptoms that we talked about, you could try disabling plugins (one at a time) to see if one particular one is causing the issue. You could then try tweaking the plugin to help reduce the server load, you could also try disabling said plugin, or you could attempt to contact the creator of the plugin to see if they are aware of the issue.
You can also install the P3 (Plugin Performance Profiler) to check the performance of your other plugins.
Cache Plugins work in a similar fashion as browser caches. It stores a copy of the website in the form of html pages to help reduce database calls, in turn reducing the server load. There are a few highly recommended plugins that will enable this functionality.
WordPress has a function that runs every time a page is loaded that can also add unnecessary load to your website. You can easily control this by using the WP-Cron Control plugin.
Please be aware that you will need to setup a Cron Job in addition to this plugin. For information on how to setup a Cron Job, please click here.