Hi everybody,
I've some experience with only one big website, but now I've a new challenge. I've a server with multiples (around 10 and growing) Drupal sites.
At first I was thinking that you will the same like a big site (microcache, varnish and etc..), but seems to be that it's not working.
Unfortunately, each site has only a few visitors that its useless to active any cache. But from my point of view theses sites are too slow (for some of them they require more than 1s to load), and because they've so little visitors each request almost always use PHP-FPM.
So I'm wondering which kind of strategy I can you (server only) to make the sites faster and use less the PHP-FPM ?
Thanks,
Comments
Are you using the Boost
Are you using the Boost module?
Are all of the sites using the same platform (D6 or D7)?
I think enabling Cache would still be a good idea. Have you looked at the Barracuda Aegir hosting system? That's fairly sweet. http://drupal.org/project/barracuda
They have lots of server level caching options...check it out, I run many sites on a small Linode successfully, but caching is enabled for all of them.
I absolutelly agree:
I absolutelly agree: Barracuda combines all those small and big tricks to make Drupal server fast.
And it seems, that you have many different sites with static content which can stay in cache forever? Then Boost with long cache lifetimes is the most important single thing to try. There are alternatives, but they are not so easy to configure.
drupal+me: jeweler portfolio
The thing it's I just
The thing it's I just providing hosting and clients manage they own Drupal, I prefer to don't they file, that why I'm asking if I can do something more at server level.
Of course I'm using it for bigger sites.
Going to have to bite the bullet
You're going to have to actually cache (longer than "microcache") requests, because at low traffic, you're not going to get enough cache hits otherwise.
Yes, that means solving all of the problems that caching raises that microcache sidesteps.
I remember seeing some Boost
I remember seeing some Boost + BOA (ie. Barracuda as in comment #1) progress during past couple of moths, so that would solve at least some of the memory -related cahching problems as boost cahces pages as static files. I think it is not yet ready, but with those tools you could help your self as well your customers while getting better performance.
--
Perttu Ehn
@yvmarques - if you are
@yvmarques - if you are asking about server-lever, I could recommend in this order:
1. Try Barracuda install - it has 90% of all the known and working tricks already enabled and prepared
if you prefer to do everything by yourself:
drupal+me: jeweler portfolio
Nginx
I've been looking to solve the same problem over the last month. We host several small Drupal sites (around 20) that all get low traffic. Many of the page load speeds were >1s. We were running of a very generic LAMP stack, with some PHP, Apache, and MySQL tunning. I've been working on this for a new server stack where we emphasize performance
Nginx (nginx-light)
php-fpm
php-apc
maria-db (can by mysql)
Almost as important here's some stuff we decided not to include for this server stack
emailing service (different server)
cpanel, or WHM (way to memory intensive)
FTP (security holes, and unneeded overhead)
We've only moved a few clients over to it thus far, as we're still working on availability of the new servers. But thus far we're getting this kind of result.
Transactions: 1000 hits
Availability: 100.00 %
Elapsed time: 27.31 secs
Data transferred: 4.74 MB
Response time: 0.13 secs
Transaction rate: 36.62 trans/sec
Throughput: 0.17 MB/sec
Concurrency: 4.75
Successful transactions: 1000
Failed transactions: 0
Longest transaction: 10.06
Shortest transaction: 0.05
Not bad for 512MB Memory. All we did from Drupal's prespective is enable CSS and JS aggregiation. We're not using boost, or anything else. This site even has many developer modules enabled like devel, and views_ui. For additional optimization we're wanting to look into Varnish, and memcache on the server.
I think on the stress test that we ran with a Drupal site with 0 optimization we were getting page load speeds of less than .5s. Which for us was a 50% increase in speed.
If this is something you'd like to try let me know and I can share some of our configurations we developed for Drupal. Best of luck!
"Throughput: 0.17 MB/sec" -
"Throughput: 0.17 MB/sec" - that does not sound ok.
How you measured??? Which tool? This was for anonymous or registered user?
I am running OpenVZ VPS with fake 2 GB of RAM, and it is very comparable to real Xen/KVM server with 512-768MB of RAM, BOA 2.0.3 (?) installed.
drupal+me: jeweler portfolio
Throughput
I ran the test using siege (available in Ubuntu's software packages). It's one of the many tests I'm running. I'd love to hear of any other tools you guys use for load testing. This would be as anonymous users.
That's not the max through put on the network. I ran the test looking more at memory for memory spikes, and dropped connections. By comparison, running the same test on Drupal.org yields the following results.
Transactions: 1939 hits
Availability: 99.44 %
Elapsed time: 134.60 secs
Data transferred: 14.62 MB
Response time: 0.53 secs
Transaction rate: 14.41 trans/sec
Throughput: 0.11 MB/sec
Concurrency: 7.65
Successful transactions: 1939
Failed transactions: 11
Longest transaction: 15.25
Shortest transaction: 0.18