You may just be using your dependable application on your system when you notice that it is slowing down which makes you set yourself for some app-tweaking. As you undertake the tuning of your application you most likely try to enable HTTP traffic compression, make sure that content-expiration headers are set on each of the static content so that repeated retrieving from server is avoided and page load time is improved, set optimization of data queries, and have a lot of “read-mostly” data cached. You may want to explore other ways of bringing your application back on its running feet, but doing the above may also solve your problem for the time being. In case you have a dedicated server hosting, you will obviously want to add more hardware to the available paraphernalia. However, this will not be without a cost addition and a compatibility problem. Whenever you want to have a hardware upgrade, make sure your individual server has been tweaked for maximum performance and delivery.
One possibility about hardware problems is the Disk I/O plague which leads to reduced website performance as it increases server load. This arises because your hard drives have not been optimized for performance. You will need to coordinate with your web hosting provider to ensure that your disk drives have powerful RPM speeds as this makes a lot of difference when heavy data transactions are going on. If you want to see a humungous difference, you can switch to enterprise grade 15,000RPM SATA from a mere 7,200RPM SATA.
In addition to that, proper maintenance must be there which includes defragmentation of disk drives no matter which OS is being used. On the OS –Linux or Windows- there should be no unnecessary background works running that consume major resources. If you are running a virus scanners (or antivirus software) then make sure that it does not run on the server in busy hours. If your virus scanner is running at 8AM every day, you must know how much trouble it can cause as all the business community logs in and uses the site at this time. It can really slow down the performance.
For network I/O among servers, make sure that network has been configured so that you receive optimal bandwidth between your servers. Any mis-configurations of network card can lead to multiple retries and waiting signals that adversely affect performance. If you are keen on monitoring the network traffic you may find out that you have exhausted your 100 Mbps card capacity, then you should think about upgrading to a 1 GBPS facility. Finally, regarding the web servers, servers like Microsoft IIS assist “web gardens” installations. These are actually web servers combined and running on a single machine. This leads to improvement of memory utilization where a single app is concerned as it distributes the same data across multiple terminals and consequently improves server performance compared to the past.
If a managed hosting provider hosts your web server then you will have to contact their customer support staff and work in coordination with them. They would not only be checking out the above points, but will also check out your RAM and CPU utilization so that you can have ‘right sized’ server.