Hi Everybody,
What's the best approach to making a Drupal site scalable for someone who knows almost NOTHING about databases/sys admin etc.?
I have a site up and running and it has the potential to get tens of thousands of visits a day (already getting about 10k/day), but I don't know how to make it scalable. Currently I'm using shared hosting at BlueHost, which has been great, but that solution will DEFINITELY not scale. Already I'm exhausting CPU limits etc.
I've read about Mosso (http://www.mosso.com) and Amazon EC2, but there are so many conflicting opinions on these and all web hosts.
Can anyone recommend a scalable solution that has been proven to work with Drupal sites? Ideally I'd like to hand off all of the backend to a highly competent and reliable firm or individual.
Thanks very much for any advice!
Comments
Scaling
Two approaches: a) hire someone, or b) learn (much) more about databases / sysadmin etc. Obviously both approaches have significant costs of time and/or money.
You are running into the limitations of shared hosting. You'll probably need to move towards a server of your own (eg a virtual or dedicated), but that can require a bit more sysadmin skill unless you pay more for a completely managed server run by competent people. Either way, you will need to pay more.
As a stopgap you could make sure you have caching enabled, and take a good hard look at the modules you have installed to see if there are any that could be removed. Unfortunately there isn't a lot of performance/scalability tuning options available on shared servers - most of the underlying web server and database tuning knobs are hidden from you.
I wouldn't worry about things like Mosso or EC2 yet - unless your site has an incredibly 'bursty' traffic pattern (eg event based where traffic is many times more than normal for short periods eg days/weeks) and you need to quickly and temporarily expand your capacity. If your traffic is more constant, then you will probably be better off with a traditional server.
--
Anton
managed server run by competent people?
Thanks very much for your help Anton.
I'd like to move to a "managed server run by competent people." Who or which service would you recommend?
I need to work with people who speak fluent English and take phone calls.
Thanks again!
Sorry, no recommendations
as we don't use any managed hosting - I'm more of a sysadmin than a web developer. Our main site is currently running on one of our own servers located in our office, but we are looking at shifting towards unmanaged hosting as they all have much better datacentre facilities than we do.
From your other post, I'd recommend switching to the high CPU option at your current provider for now. That will give you some breathing space to assess your options and see whether the extra capacity is enough in the short term. Moving to a dedicated/virtual server will need some planning, testing and tuning - you don't want to rush into that too early.
If you have more time than money and don't mind learning new stuff, it wouldn't hurt to at least set up an old PC with Linux and start hacking around with (eg tweaking/breaking/fixing) Apache and MySQL etc without any actual users to worry about. Even if you end up using managed hosting (rather than unmanaged), the stuff you learn will make it easier to communicate with the support techs or to ask the right questions etc.
--
Anton
If you are on BlueHost then
If you are on BlueHost then you have a little advantage. Wait until you get up to about 30 to 40 thousand hits a day then ask one of the server admins to investigate your account for stress in Apache and MySQL. They are pretty good at letting you know if going dedicated or VPS will help. But the best thing is that they can compare your account to another that they know is getting pounded. The comparison is what you want so that you can make adjustments accordingly.
BTW, if you are running into problems with just 10 thousand a day then there is something wrong. I run several sites on dreamhost that get about 20,000 a day with no problems. The only thing that might stress the CPU limit with so little would be a contrib module.
Do you mean 10,000 concurrent hits a minute?
PHP Developers | Drupal Developers | PHP CMS code | Svensk Drupal Utvecklare
I meant 10k unique visits
I meant 10k unique visits per day, which averages to about 220k "hits." i called Bluehost and they suggested moving up to a higher cpu limit server, which costs $20/month. that'd probably just be a temporary solution.
i am using about 10 contrib modules, so that could also be contributing (haha) to the problem.
thanks very much for your advice!
Pagoda Box
I realize this is an old post, but this might be useful to future visitors. Pagoda Box allows you to scale your application up and down as traffic fluctuates without sys admin experience. You just drag sliders. They have a Drupal Guide. They require Git version control for deploys.