Two months back I launced 3 new Drupal-7 based sites on my shared hosting account but soon I found that my account was touching maximum process limit of 25 in my account and that my D7 sites were having only 400 or so page views daily. To compare it with D6 site, it could handle 4000 pages views without any problem.

Hostgator support confirmed too many processes of D7 sites. I've also checked it and I find that D7 index.php is running for much more time than D6 counterpart. So instead of it exiting in .5 second, I guess it's taking 3 seconds( rough estimate). I don't think those are eating too much of CPU in that case my sites would have been suspended.

To resolve it I'm moving my D7 sites to VPS so that process limit is increased.

I'm using all Drupal default install settings. No booster etc modules.

Any suggestions?

  • 3 seconds for the execution of index.php is excessive so I wonder if there's some other problem there. Was this an account where the database runs on a separate server? D7 is likely to execute more queries so if the SQL connection is a bottleneck, it can cause poor performance. I run a few D7 sites on shared hosting but the worst Drupal performance I saw on a shared account was a D6 one on Dreamhost, simply because of how slow MySQL was. May 6 '13 at 16:16
  • No db is on the same server. Moreover my sites are all new. Your site with performance issues could be old one. Mine are all new. But yes it contains many views.
    – AgA
    May 7 '13 at 6:57
  • The other big issue with shared hosting is that it's difficult to diagnose performance issues because you can't install the tools you need. It's quite easy to create poorly-performing Views, but at least on a VPS you can turn on the MySQL slow query log and track them down. May 8 '13 at 7:59

Shared hosting is the bane of the internet -- I recommend not using shared hosting if at all possible stick with the VPS. Did you turn on Aggregation, and caching in your drupal install? Did you install APC and configure drupal to use it. If you use APC and are a read-heavy anonymous traffic site, then APC can be configured to store all your pages in an in-memory cache and you never even hit the DB.

Tweaking a website to maximize server usage is really really website specific. The low hanging fruit is stuff like Performance settings in Drupal, APC, maybe Nginx for a webserver, etc. Beyond that profile your site.

Alternatively as you mentioned you could cache to disk by using like Boost.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.