Drupal site is slow ?. What should be done to improve performance ?

Drupal can scale if you have the right server architecture. There are numerous large sites such as the economist.com  that use Drupal. When you find performance issues on your website, its not one magic stick that will work. First check some modules to start debugging the issue:

  1. Advanced CSS/JS Aggregation - New module to deal with CSS/JS aggregation issues.
  2. DB Tuner - Figures out what views are slow and 9/10 times allows you to speed it up with a click of a checkbox.
  3. Imageinfo Cache - Gave us a BIG speed improvement for logged in users. The more images you have on a page the bigger the speed improvement.
  4. Devel - Useful to see what queries are running multiple times and what queries are slow.
  5. X-ray module gives a look at the skeletal structure of a site to help developers and site builders see how things work

It really depends on the nature of your site, and what is limiting your site currently. And depending on the site it may make sense to :

  1. Get a server with more memory and CPU power.
  2. If your site is mostly anonymous browsers, and boost contributed module isn't helping then go for a high memory server running Varnish. Varnish will take the load off of your drupal server, letting it essentially just deal with authenticated users.
  3. A front end server running nginx would be another option to consider.  You could configure it to serve up static files as well as cache and proxy requests to the drupal box. This may not work as well as varnish, however it would be somewhat simpler to set up and I'm guessing not as resource intensive.
  4. If you are dealing with mostly authenticated users and your CPU is getting maxed out, then a separate DB server might make sense. 

Additional reading:

  1. Drupal performance and Scalability - http://books.tag1consulting.com/scalability
  2. Drupal Performance and Scaling Part 1
  3. How to Speed up and Optimize Drupal 7