Paid affiliate hosting advertisement
How Much Server Do I Need?
I am having problems with my current set up supporting Comixpedia.com which runs on Drupal 4.7 and I was curious as to what the consensus of Drupalistas is as to how much hardware I need to run it. Primarily I've run into MySQL problems lately although I think I've had CPU issues too. (Currently I've got it on a box with an Intel Pentium(R) 4 CPU 1.70GHz, Memory: 514872k/524224k available) It could be that I've just got my server set up poorly (I'm pretty untrained at server stuff) but maybe I need more resources?
I get about 20-40 members along with somewhere between 150-300 guests CONSTANTLY. The site started in 2003 (on Postnuke - ported to Drupal this March) and has 9700 nodes and counting with over 3400 members registered.
I'm running the following modules:
aggregator
archive
article (a dupe of story)
basicevent
bbcode
block
blog
book
comment
contact
drupal
event
eventrepeat
excerpt
filter
forum
front_page
help
image
image_attach
image_exact
image_gallery
img_assist
menu
node
page
path
pathauto
poll
profile
quote
search
service_links
story
system
taxonomy
throttle
tinymce
user
watchdog

benefical information to
benefical information to help diagnose would be to add your versions of php mysql and and server OS.
Sure
Server OS is Linux - I believe its Red Hat Enterprise Linux
MySQL client version: 4.1.10
PHP Version 4.4.1
Full PHP Info page for server at http://altbrand.com/phpinfo.php
Read About Webcomics At Comixpedia!
(now drupalized!)
Some hints
- Install mtop, and run it at peak times. See what queries keep coming up and trace the module that issues them. Then disable the module or have it modified. It will also show other useful info (e.g. queries per second, number of slow queries, ...etc.)
- Run vmstat at peak times and make sure that you are not swapping too much.
- Check Apache settings, specifically maximum requests per client (not too high and not too low) and the maximum number of processes Apache can handle. If you see a lot of swapping, then reduce the maximum number.
- Optimize your datatbase every now and then.
- Disable modules you do not want. Some modules are known to be resource intensive (e.g. locale).
--
Drupal development and customization: 2bits.com
Personal: Baheyeldin.com
Thanks for the tips
I have done all of these at varous points - I'm pretty set with the modules I have b/c I need that functionality. So I'm not really trying to figure out how to cut down on the set-up I have.
I was hoping to see if anyone had a sense of whether I should be able to run that on my current set up or if I need more resources. I have had issues - described in my post - and it would be helpful to have a reality check from the community as to whether or not Drupal needs a bigger server to meet my needs...
Read About Webcomics At Comixpedia!
(now drupalized!)
Access pattern and volume
Regarding modules, you may need the functionality, but some modules are really heavy on the server. It then becomes a tradeoff between performance and features. You can either change the module, or drop, or stay with it knowing the consequences.
As for your site, you have to see what the access volume is. You say you have 300 guests all the time. Are they crawlers or real humans? If crawlers, are they benign (genuine search engines) or nasty spam and leech crawlers?
If it helps, I have a client with Drupal 4.6 and 101,900 page views (average), with a peak of 179,500. Hits are 629,800 per day (average) and peak of 1,172,300. They have 3,000+ nodes, 13,000 comments and almost 4,000 users.
The handling of paths in 4.6 was a real bottleneck, and I use the 4.7 backport of the patch, and that took care of the first hurdle. The locale module was a big bottleneck, so we disabled that. The other bottleneck is a code snippet for doing "next node" and "previous node" in the theme. This uses WHERE nid > $current_nid LIMIT 1, but is not too much of an issue.
They run on a Quad Xeon 2.8GHz w/ 2MB cache each and 2GB RAM and Fedora Core 4.
The server used to hang when hit by crawlers at peak times. Tuning Apache to decrease the number of maximum processes allowed prevented the swapping/thrashing that leads to this happening.
Drupal cache is disabled, since there is problem with blank pages being served from cache (double gzipping of content I think, which is specific to this server). We will revist this after we upgrade to 4.7.
They have far less modules that you, but lots of video files to serve.
block
blog
comment
contact
drupal
feedback
filter
forum
gsitemap
image
menu
node
nodewords
page
path
pathauto
ping
poll
profile
search
sections
sitemenu
spam
spam_surbl
subscriptions
syndication
system
taxonomy
tracker
troll
upload
urlfilter
user
video
watchdog
--
Drupal development and customization: 2bits.com
Personal: Baheyeldin.com