What' recipe should i choose for best performance?
I read and now i think i must choose some recipe to have best performance for my vps.After some one have benmark with serveral way:
Yes, though Boost with nginx serves pages much faster than Boost with Apache-prefork+mod_php, on the order of 400% faster, approaching Varnish speeds and without the memory issues. (I never tested Apache-worker+php-cgi so I can't speak to speed.)
Still Varnish beat out nginx by about 18% in my personal quick and dirty testing. Off the top of my head, and without looking up my numbers, it was:
Boost with Apache-prefork: about 500 req/s;
Boost with Nginx: about 2000 req/s; and
Varnish: about 2400 req/s.
.
So anybody help me choose best way to have best drupal'performance?
1.Install Nginx+fastCGI+boost +xcache
2.Install apache+ apache worker+ mod_fcgid +php+ xcache+varnish?
What' way have best performance and reduce resource of RAM?CPU?My VPS have 1,3G RAM,1IP
Thanks all!

Bumpppppp
Bumpppppp
depends on your site
Boost might be a better choice over varnish, or varnish might be a better choice over boost; depends on what your doing with it. A site that works really well with boost is openjurist. Its pages never change (long cache times: 52 weeks) and it has close to 2 million documents; putting all of them into ram would be expensive, hard-drive storage is better in this case. If your site has a lot of action and things get expired on a regular basis then boost ATM is the right choice, due to it's cache expiration features, allowing views to be flushed when a node changes, among other things. If you have a lot of pages that get heavily accessed (disk IO becomes an issue) then varnish is the right choice. For 99% of the sites out there either one works great; but because boost is easy to setup and it comes with some nice cache expiration functions a lot of people choose Boost over Varnish. They both offer a lot, so the huge gains in performance make the differences between the 2 not as important; what's important is your using one or the other.
Thanks! I see it: Boost with
Thanks!
I see it:
So i should use Boost with nginx if i don't use varnish?Varnish cached on RAM while Boost cache pages on Disk?
Boost with Nginx
Here's a fairly good guide for getting Nginx up with boost
http://groups.drupal.org/node/26363
Simply ignore the Aegir parts and you should be good to go.
Varnish stores cached pages in RAM, while boost stores them on the Disk. Most modern file systems will cache files that get accessed a lot in ram, thus varnish and boost have similar performance characteristics; both could be serving the page from ram & both are skipping PHP/MySQL on cache hits.
If Nginx is not the right thing for you depending on your setup apache with boost has been known to hit over 2,000 requests a second, so it really depends on your setup. Like I said before, for 99% of the sites out there boost/varnish works wonders for page loads. If you get an average of 1 request a second over a 24 hour period that equals 86,400 page views in a day; 1,000 requests a second over a 24 hour period is 86 Million page views in a day. Unless your one of the top internet sites worrying about anything over 1k page views a second is overkill for the most part.
I disagree
I disagree. High load is not about average numbers. High load is about peaks. Even average site can have traffic spikes from Digg and similar sites, from (D)DoS attacks and being able to deal with them is a must. If you don't have this safe margin, you will lose visitors during peaks.
Thanks.So with my VPS:1,3G
Thanks.So with my VPS:1,3G RAM,2G CPU,60G Disk,Boost with nginx is best right for me Or can going with varnish?I hope everybody advice me for best way.
My VPS installed apache with cpanel.So can i use mysql database,phpmyadmin(user,pass...) on apache with nginx?if use nginx,i should turn apache off.How can i do it?/etc/init.d/httpd off?
Some CPanel features will not
Some CPanel features will not do what they are supposed to do without Apache.
And can i use nginx on port
And can i use nginx on port 80 proxy for apache on other port(88)?How to config?
So should i use nginx front-end to resever proxy for apache at back-end or use only nginx as webserver,include exec .php?i hear nginx work with .php not good as apache?
Thanks all for helpful!
I see one benmark
I see one benmark here:http://groups.drupal.org/node/26485#comment-101518
So if work with apache ,varnish winner.But overal winner is nginx(webserver)+Boost?.I wonder how about Ram cost with both?varnish+apache or nginx+Boost is smaller?
Varnish stores data in
http://en.wikipedia.org/wiki/Varnish_%28software%29
So...What' virtual memory limit on VPS Centos 5 With 1,3G Ram?
There is no one "right" answer
@rokape:
When you're looking at Varnish vs. Boost, Apache vs. Nginx, etc. remember that there are so many variables to account for here - type of site, type of users (auth or anon), type of content (lots of nodes, lots of uploaded files, static or high turnover), server capacity - that nobody is going to be able to tell you definitively, "do this!" You're going to have to try multiple configurations in your environment with a copy of your site's content, benchmark them, and then decide which one is best for you.
I recommend doing something like this:
Take a copy of your site and bring it up on a testing server with as close to the same configuration (RAM, CPU, OS, etc.) as you can get.
Set up Boost on the testing server, benchmark it.
Set up Boost+nginx on the testing server, benchmark it.
Set up Varnish+Pressflow +APC+(cacherouter|memcache) on the testing server, benchmark it.
Based on those results, you should be able to tell what option works best for you. It may very well come down to personal preference. I prefer the Varnish+Pressflow stack, but that's because I have plenty of hardware available with a lot of RAM (20G+multiple backend webnodes). Because you're on a pretty limited VPS with not much RAM I suspect Boost may be the better option since it caches to disk rather than RAM. The Boost route is also much simpler to set up - modify your .htaccess, create the cache directory in your webroot, and enable the Boost module. Nginx may or may not help, and will likely be difficult (impossible?) to do from cpanel without hitting the command line. Varnish will require command line work, I don't see any way around it.
Thanks.And how about run d6
Thanks.And how about run d6 only nginx+Boost is better than nginx+boost reveser proxy for apache back-end?How to config for that?
I installed litespeed ,ben it
I installed litespeed ,ben it and see it have about 2800rq/s while apache (both +Boost) have ~900rq/s.
So litespeed winer?
It's not that simple
What benchmarking tool are you using? Depending on the tool, the requests/sec stats coming from the benchmarking tool may not reflect the performance of the site in a real-world environment with real users. Nor are raw requests/second necessarily the key metric - how many users per second can your site serve is a different (and likely more important) measurement.
Users don't behave the same way as a benchmark. They don't hit a single page hundreds or thousands of times per second. They meander around the site looking at a bunch of different pages, entering and leaving at from different pages. They pause and continue. Their browsers load the images, CSS, JS, etc. along with the rendered PHP/HTML output (many benchmarking tools don't). Tuning your site to get the maximum requests/second with something like ab isn't necessarily provide you with the optimal configuration for serving real users in the real world.
ab
Vast majority of users have gzip enabled. When doing a simple requests per second test like this add in the accept gzip,deflate header.
ab -c 25 -n 1000 -H 'Accept-Encoding: gzip,deflate'IMHO, makes the results more realistic. If you can control it do a 90/10 split on gzip, so 10% of users have gzip disabled. If your a website that gets a lot of cell phone browsers, up it to 30%.
The best tool I have found to
The best tool I have found to benchmark your site is JMeter. Here's a blog post on setting up basic tests for Drupal in JMeter:
http://www.johnandcailin.com/blog/john/load-test-your-drupal-application...
Then a 2nd part that gets into more detail, like testing the site with users posting comments, surfing numerous pages and posting nodes:
http://www.johnandcailin.com/blog/john/load-test-your-drupal-application...
I generally try to mimic the sites average traffic and user work load and create tests based upon that. I'll then start upping the threads to get idea of higher traffic spikes. You can also set it to download all embedded files (js, css, jpg, etc).
You can also create users hitting random posts by setting a random variable in the path:
/node/${__Random(1,20000,NODE )}
(adjust 1,20000 to whatever you want).
Generally while the tests are running I got a shell open to the server running top and then MySQL Workbench running in monitor mode to monitor key metrics on the database server.
It does take a little learning to figure out JMeter but it is definitely worth it.
HollyIT - Grab the Netbeans Drupal Development Tool at GitHub.