Slow site troubleshooting

From DreamHost
Jump to: navigation, search

Overview

If your site is running slowly, there are a few common issues that can cause slowness to occur.

Most sites that run slowly are database-driven sites. Database content is not saved on the web server. unless you have some sort of caching enabled for this site server. If no caching is enabled, content is dynamically created for each visitor by the communication between the web server and the database server.

Things you can check

Check the PHP version

If your site is having performance issues, one of the first things you should check is which version of PHP your site is running (assuming the site is built on PHP). Newer versions of PHP run faster/smarter and can handle issues arising from increasing traffic more gracefully than older versions of PHP.

For more information about checking which version of PHP you are running, please review the following article:

It might also help to increase the amount of memory that PHP is allowed to use. You can do this yourself by modifying the “memory_limit” PHP.ini directive. View the following article for detailed instructions on how to increase this limit.

Check the version of installed software

Web applications (like WordPress, Joomla, MediaWiki, and the like) are updated on a semi-regular basis by their core developers both to improve the application itself and to block any security issues found in a previous version. For the best performance, make sure that your installations are updated on a regular basis.

OCIexampleUpdate.fw.png

If you have installed software using DreamHost’s One-Click Installer, then updating is easy.

View the following article for full instructions:

Check for unused plugins

If a plugin's files still exist, (even if it is set to inactive/disabled), it can still execute code and affect the performance of your site. If you cannot access the administration area of your software, you may need to log in via FTP/SFTP/SSH and remove plugins that you do not use. This may help to bring your usage down enough to allow the admin area to load. If you need help connecting to your domain via FTP/SFTP/SSH, take a look at the following articles:

Use caching and anti-spam plugins

In general, reducing the number of plugins that you use (aside from ones specifically designed to help with load, such as anti-spam and caching plugins) will make your install run more efficiently.

Check the load average of your server

It’s also possible that there may be a momentary load on your server causing slowness. View the Uptime article for further details and how to check if this may be the case.

Check for database overhead

If tables in your database have excessive "overhead" (unused empty space), it can cause queries to the database to take longer, and may result in the web server timing out before it can receive the response from the database server.

To optimize your database:

  1. Log in to phpMyAdmin on the (Panel > 'Goodies' > 'MySQL Databases') page.
  2. Once you log in to phpMyAdmin, select the database you wish to optimize in the left-hand column.
    This loads the Structure tab for that database.
  3. On the main screen, look at the last two columns (“Size” and “Overhead”).
  4. If any of your database tables have an “Overhead” value that is equivalent or larger than the “Size” value, click the checkbox next to the table (far left column).
  5. Once you’ve selected all the tables with too much overhead, click on the “With selected:” drop-down box and choose the “Optimize table” option.
    This automatically clears the overhead and should dramatically improve the performance of any requests to this database.

Make sure your web and database servers are in the same data center

DreamHost currently has three (3) data centers that customers can use:

  • Los Angeles, California, USA
  • Irvine, California, USA
  • Ashburn, Virginia, USA

To see which data center(s) your account is utilizing, visit the (Panel > 'Support' > 'Data Centers') page.

Ideally, your web and MySQL servers should be located in the same data center to reduce any networking delays. If you visit that page and notice that these two servers are not in the same data center, contact support on the (Panel > 'Support' > 'Contact Support') page. Support will then be able to migrate your servers to the same location.

Note2 icon.png Note: All email hosting services for email addresses (created on the Panel > 'Mail' > 'Manage Email' page) are currently hosted exclusively in the Los Angeles, CA. However, this will not affect your site performance.


Check for over-browsing by specific IPs

Usually, if there is one (or a few) IP address(es) that represent 10% or more of your site's visits (1,000 or more visits out of the last 10,000), checking the hostname of the IP address often shows that it belongs to a search engine bot, usually from Google and Yahoo. These bots are NOT responsible for your site's ranking. Occasionally, these bots will attempt to browse your site hundreds of times a day, impacting your site’s performance and preventing actual visitors from reaching you.

You can find instructions on how to check which IPs viewed your site recently, and how to block them, in the following article:

Diagnostics you can run

Test your site from external locations

You can use the following sites to test your website’s performance. These help to verify if the performance issues are happening in all locations or if it’s just your connection.

Ping and Traceroute

Check the response time/connection between your computer and your DreamHost servers by running a ping and a traceroute. If you need more information about running ping or traceroute, take a look at the following articles:

If you see any issues, contact support and provide the results of these tests. Support will then be able to look further into the matter for you.

Optimize your CMS software

WordPress Optimization

Joomla Optimization

phpBB Optimization

Drupal Optimization

Private Servers

Many of the suggestions on this page can apply to private servers, but make sure to also check the PS Optimization and VPS Troubleshooting pages for VPS-specific suggestions.