Where is the power of Drupal ... I hate Drupal

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
jolly guy's picture

I heard a lot about the performance and the power of Drupal and have missed more than 6 months to learn this complex CMS .. I do work for a strong position for which I work with my newspaper and eventually fell Drupal did not take visitors to the site and it always overload the database (mysql) some times the load reach 200 and it never reach it before ...
I enabled core cache and the server got down again next day ..
I installed Boost module and adjust it cache 18hrs and the server got down totally next day ...
my visitor about >500 @ the same time, I expected that the site bears more than 3 thousand people at the same moment

In fact I do not know what I said to my managers after waiting 6 months for the new site ....

I've dedicated server:
Total processors: 4{
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz
Cache 2048 KB }


what's the wrong ...
What do you advise me .... Do you turn to another CMS ...!!

AttachmentSize
tuning-primer.txt4.3 KB

Comments

Varnish & Pressflow

dwadson's picture

Look at switching to using the Varnish cache (http://varnich-cache.org) and the Pressflow (http://pressflow.org) fork of Drupal. There's also a Varnish module (http://drupal.org/project/varnish) which gives more control over expiring content.

It can take a bit of work to get Varnish/Pressflow working, but once you do the performance for anonymous visitors (probably the bulk of your traffic) goes through the roof and the load on the server decreases dramatically.

Drupal Performance

rmjackson's picture

Hi Jolly Guy,

Don't despair. Drupal is a great CMS. All you need to do is tune your system well.

Here's some generic tools:

For MySQL you should run the tuning script that can be found here:

http://www.day32.com/MySQL/

I don't see what webserver your using in this post so I'll assume it's Apache:

http://drupal.org/node/215516

You'll need to ensure your php.ini file is properly configured.

There are other tools that allow you to ensure peak performance, but it sounds more like you need basic performance which the above suggestions will assist you with.

If it's any consolation, most experienced Drupal Systems Administrators will tell you that heavy loads require great tuning.

Good luck

Many possibilities

yelvington's picture

There are many opportunities for misconfiguring a high-traffic site.

  • How many pageviews/uniques?

  • Did you tune MySQL? Standard configurations are poor. Pay particular attention to the query cache size.

  • Are you getting a storm of 404s? Often when a site is relaunched on new technology, old URLs are invalidated but continue to get traffic. That's a very bad thing with Drupal. A bit of thinking about paths and tinkering with .htaccess can save your server a ton of useless work.

  • Your box has a lot of CPU, but do you have enough memory (RAM)? Often high server loads are the result of thrashing. What does TOP say? What processes are consuming CPU? Are they running or waiting for i/o?

  • Are you running APC? No server should be without it. What does apc.php report in terms of RAM usage? Allocate more memory if necessary.

  • Move cache tables into memory and out of MySQL. This is a tremendous performance enhancer. Use Memcache or APC Shared Memory to do it.

  • Spend some time looking closely for errors in the server logs.

  • Disable the dblog module and record all your Watchdog entries in syslog.

Drupal can scale to any size with planning, tuning, and properly configured hardware.

It's important to keep in mind that Drupal is a 404 error handler, and anything you do to avoid 404s will help. The Boost module takes advantage of this and allows Apache to directly serve cached pages (to anonymous users) without Drupal being involved. Larger sites use Varnish or Squid as a reverse proxy cache (possibly running on a different server box) to accomplish the same goal.

How many

jolly guy's picture

How many pageviews/uniques?

pages=204307 - unique visitor 36971 in day

Did you tune MySQL? Standard configurations are poor. Pay particular attention to the query cache size.

QUERY CACHE
Query cache is enabled
Current query_cache_size = 1.00 G
Current query_cache_used = 14 M
Current query_cache_limit = 512 M
Current Query cache Memory fill ratio = 1.42 %
Current query_cache_min_res_unit = 4 K
Are you getting a storm of 404s?
I never
Often when a site is relaunched on new technology, old URLs are invalidated but continue to get traffic

we turn - off the website for 1 month and google delete all our links in this month,

Your box has a lot of CPU, but do you have enough memory (RAM)?
I have 4G of ram 55% free ram
in high load said : 95% of ram is full
and in top kswapd0 is eating most of cpu 45% "kswapd0 process = low on memory" ... mysql and apache look fine ...
I think drupal take all of my RAM .. because when I was running the old website the high load come from mysql and I NEVER it come from "kswapd0"

I attached tuning-primer

jolly guy's picture

I attached tuning-primer output please take a look and advice me

I installed Varnish Module

jolly guy's picture

I installed Varnish Module and today the server got down .....

There's more to it than just

dwadson's picture

There's more to it than just the Varnish module. You need to install Varnish - it's a high-performance web cache that will run on port 80, instead of Apache (which gets configured to run on a different port). You also need to switch to Pressflow, a modified version of the Drupal core which is designed to run with the external cache.

http://blogs.osuosl.org/gchaix/2009/10/12/pressflow-varnish-and-caching/ has an overview of how it works, install, and testing it.

!!!!!!!!

dileepunni1's picture

Check your apache logs and drupal modules used for some thing strange.

2 are you enabled static module

or used some thing for make a counter for visiting the page and updating the node etc

may be this types of things 'http://groups.drupal.org/node/147619#comments' always hit the database for updates, So you are out of caching always.Can u under stand me?Check you implementation of theme.Also some time we tend directly call the database with out using drupal api.So it avoids the caching properly.Also use minimum to 0 for php filter in views and blocks.Php eval is not a good one for a heavy production web site.Always stick with drupal core api for do the things.It is good practice.

For an example if you use a counter saved as a CCk field in a drupal node eliminates cache and always hits the database and drupal need more processing.you should check for this type patterns and avoid this type of practice from theme.If you need this type of processing please use a NoSql db for storing and retriving the value.Not hand over this to drupal.No sql db's are fast enough for handing such unmapped key values.So you can save your values with out invalidating cache.It is only mysuggestions because i dont know the exact situation you are facing,modules used,number of views and caching etc.Please revise your theme structure and modules used.

I tried more than 10 times to

jolly guy's picture

I tried more than 10 times to install Varnish in my server but I could not :

Stopping varnish HTTP accelerator: [FAILED]
Starting varnish HTTP accelerator: [FAILED]

I will be lucky If I get help in this ...

my server without manage ..

sure the next step will be pressflow

The Varnish/Pressflow route

dwadson's picture

The Varnish/Pressflow route is not going to be quick, easy fix - it can be a complex solution to figure out, but once you do it works.

Firstly, don't think of Pressflow as a "next step" - Varnish really won't do much for your site without it. Drupal's session cookies, in particular, will prevent Varnish from caching pages.

Secondly, don't try to just set this up quickly on your "live" server. It takes a bit of trial and error to get things working properly and you don't want to be learning on a server that is in active use.

As for why Varnish won't start, check it's log! Keep in mind, Varnish needs to run on port 80 - if you don't change your webserver to run on a different port, then Varnish won't be able to start.

Newspapers on Drupal

Group organizers

Group categories

Topics - Newspaper on Drupal

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week