The biggest problem with Drupal is that with raw core you can’t build a website or portal and you need to have loads of modules installed to give it a shape.
With modules come CSS, JS, Images and, of course, php files which all adds up to slow down Drupal. Then top up that with the theme files (CSS, JS, Images and PHP files) and you end up with a monster. Something like Indian passenger trains which almost don’t move due to overloading (remember seeing pictures of people sitting on top if train in India).
However there is hope on the horizons, there are few ways by which you can speed up Drupal up to certain extent.
First do a basic health checkup for your Drupal site. You need a stethoscope which is YSlow Firefox Extension.
You can also try Google Page Speed extension for firefox.
Opps!! Didn’t I say in the beginning of this post that Dedicated server wouldn’t help? Yes I did. But you can’t run Drupal on a shared hosting. It is like driving Rolls Royce on Indian roads. It will run however you can imagine what harm it will do you your health if you haver driven in Indian roads.
So get a good dedicated server first.
Check out Web Hosting Reviews for more details on why shared hosting sucks.
Server Side Optimization
Enable mod_gzip (Apache 1.3)/ mod_deflate (Apache 2.x).
Drupal 6 onwards has inbuilt capability to Aggregate (combine) Java Script and CSS files. You can enable it from
Administer -> Site Configuration -> Performance
Add following line in .htaccess file
Boost module claims to improve the performance significantly.
I’m yet to test this module, once I’ve done it I’ll upadate.
Not to mention go back to school and re-read the basic CSS/HTML guidelines again.