When your site begins to experience performance drains, which usually show up as slow-loading web pages, the problem’s diagnosis can be more challenging than its solution.
The first thing developers should examine is the nature of the website. Is the site a static HTML website, or does it rely on dynamic scripting such as ASP, PHP or Perl? If the site is a static HTML site, then database connections, web services and inefficient scripts are probably not the cause of performance bottlenecks.
Bottleneck sources might be found in the server’s Internet connection — if client-side connections and ISPs have been ruled out — or in the server hardware and software. Perhaps the server is overloaded and unable to respond to the number of requests your visitors generate. Perhaps the allotted disk space in the hosting account is full or the server is not configured properly. The answer might be simple: Upgrade your hosting account or switch to a hosting company with a more reliable infrastructure.
However, finding the source of bottlenecks becomes much more complex when a site is dynamically generated, such as those used by online stores. With dynamic websites, there are many places to look for performance gains. Perhaps the script has to wait for information that is being returned from a database or a web service. Perhaps a script is too complex, requiring too much of the server’s processing power to accommodate many requests. In some cases, the bottleneck occurs when interaction with the hard drive causes a delay because the script must wait for the disk I/O processes to complete.
In short — be patient, be thorough and know exactly what the problem is before you jump to conclusions about how to solve it.