DigitalOcean (DO) - Choosing A Suitable Server For MultiSite

DigitalOcean (DO) has super cheap yet powerful hosting plans. Starting with the most basic $5 plan I have been able to 'get started' with setting up WP Multisite as a working set up.

I need to figure out now, rather than later what kind of disk space requirements will be sufficient for hosting up to 500 sites and beyond.

DO's 'fast resizing' between server packages does not include disk space whereby a 'snapshot' must be taken first then restored to a new droplet with a new IP. This will of course cause issues with sites that are already domain mapped to the old droplet's IP which will need to be reassigned.

The next level of DO's hosting with regard disk space is 30GB, 40GB, 60GB, 80GB and higher.

In the spirit of "pay as we grow" I wanted to keep costs down so the questions are: 1) is it really a big deal to migrate to a better host package later and inform clients their site's IP needs to change? 2) how can I calculate and estimate a reasonable number of sites an amount of disk space will hold?

  • Fox Jones

    Great post Spencer!

    We're totally on the same path. I recently started with DO and have been loving it. I've managed to setup a secure and stable multisite running about 40+ mapped domains for a few months now. I can't recommend them enough. The speed of a SSD VPS is unparalleled esp when combined with a few caching tweaks. The support has been great too, i've asked three questions on separate occasions at all hours of the day and night, and always got a response within 10 minutes [kinda like WPMU dev ; )].

    I quickly ran into the same issue with the virtual disk resizing, that was actually one of my support questions. The tech told me that they are working on a fix for this, but at the moment there is no timeline.

    I absolutely dread the idea of having to change 40 domains DNS entries to point to a new IP address. Luckily I have control over all of my domains [and clients domains] via CloudFlare, but many hosters don't have that ability. Still, it's not something I'd like to have to do. [let alone 500]

    I'm hoping to wait it out until they have a fix.

    In the meantime, I would be proactive and start with a larger droplet. I started with the $5/month plan with 512MB RAM / 1 CPU / 20GB disk, but then upgraded to the $20/month - 2GB RAM / 2 CPUS / 40GB disk, only it's stuck at 20GB's.

    $5/mth is great to get a start with it, but if you're going to jump right into building a production server, I'd spin up $20/month droplet rather than resizing from a 5 to a 20.

    That said, I wouldn't let this little hitch stop anyone from trying DO. I've never been happier than when I finally left DownHost's slow shared servers and built my own Ubuntu LEMP box on DigitalOcean.

    I'm a very happy customer, and this is my affiliate link if you want to try them out and give me some cred: https://www.digitalocean.com/?refcode=ba1adc12223d

    Thanks sharing the DO love, Spence.

    - Fox Jones

  • aecnu

    Greetings Spencer,

    Thank you for the questions and indeed the answers are truly dependent upon the host themselves.

    1) is it really a big deal to migrate to a better host package later and inform clients their site's IP needs to change?

    This is how you folks do it and the host as well. In my hosting company it is mostly administrative until the point of dedicated server before anyone needs to change name servers.

    2) how can I calculate and estimate a reasonable number of sites an amount of disk space will hold?

    The only way I could think of would be calculated on the amount of disk space allowed in the network admin dashboard --> Settings --> Network Settings --> Upload Settings --> Site upload space

    There is no way to know the additional overhead of you WordPress MultiSite installation since it is relative to the number of plugins and themes you include in your install.

    Thank you for being a WPMU DEV Community Member!

    Cheers, Joe

  • Spencer

    I absolutely dread the idea of having to change 40 domains DNS entries to point to a new IP address. Luckily I have control over all of my domains [and clients domains] via CloudFlare, but many hosters don't have that ability. Still, it's not something I'd like to have to do. [let alone 500]

    This certainly seems like one solution that I'd be happy to go with as I've used CloudFlare before.

    So basically this would mean that every client would switch their name servers to CloudFlare's name servers under an account that we control and we'd have full access to change an end point IP's as and when necessary, all whist cloudflare "always online" service masks any apparent downtime?

  • Fox Jones

    For my setup, using the ProSites plugin from WPMUDEV, I've allotted a quota of about 500MB per site. Most clients/sites use a fraction of this, about 15-50MB's. Others upload a lot of photos and are close to 1GB [i've manually extended them but you could allow them to upgrade via ProSites and get more space automatically]

    So, 40 clients at 500MB's is 20GB right off the bat. If they all maxed out, that wouldn't leave any room for overhead, local backups, log files, etc. Hence I want to expand the disk space.

    So, aim high and go big for now.

    I'm also curious, if their disk resizing isn't working, what's to stop someone from spinning up a 40GB disk, then immediately downgrading to a $5/month plan and keeping the 40GB disk...? ; )

    - fox

  • Fox Jones

    Spencer,

    Re: CloudFlare, yeah you got the idea! Then you can enjoy CF's wicked fast TTL also for nearly instantaneous "A name" records updates, etc. when you switch.

    A few caveats though...

    - Watch the order of operations. Add the domain to CF first, before they change their nameservers, so that CF can scan and copy existing A records, MX records, etc.

    - SSL - CF is free as long as you don't need SSL. For sites that do, like ecommerce sites with their own carts and secure checkouts and certificates, etc., it's going to run you $20/month for the first domain, then $5/month for each additional.

    - email hosting. some hosts come with combined hosting and email. if you point the nameservers away from them or cancel their hosting [just keeping the domain reg and pointing it], the email will break. others will continue to work as long as you've copied the correct MX records. others still may already be externally hosted, such as by Google Apps or Rackspace Exchange, etc. As long as CF has copied those MX records correctly [along with any A or CNAMEs for access to webmail like mail.whatever.com], then you should be fine.

    Otherwise, the interface for CF could be optimized for bulk editing a ton of domains, and you don't seem to be able to work on multiple domains at once [like in different tabs, it gets confused]. But once the initial work is done, you shouldn't have to worry until or unless your IP changes again. Even if it does, at least you can have access to the DNS entries.

    Hope that helps : ) Good luck and thanks again for sharing. It's nice to know I'm not the only one doing this sometimes : )

    - fox

  • Fox Jones

    Also, the 'always online' is hit and miss sometimes. There has to be a recently cached version of the page[s] being viewed, and it's not entirely interactive [no checkout, etc]. Once I had a client complain that they were getting an error message on their site, a CF error page came up instead of their site saying the site was down [as opposed to the cached version]. It disappeared on it's own, but still unsure of the cause or how to prevent it from recurring [hoping it was just a glitch].

    But hopefully you won't have to worry about any of that as the DNS updates happen so quickly on CF that no one should notice.

    Then you can have the added benefits of advertising to all you clients that CloudFlare CDN & Security are included in hosting for free [or $5/month for SSL].

  • Spencer

    the interface for CF could be optimized for bulk editing a ton of domains

    That seems like the biggest caveat. But as you've said, at least I'll have access to the DNS entries to make relevant changes should I migrate to a new droplet with corresponding new IP at a later date.

    you can have the added benefits of advertising to all you clients that CloudFlare CDN & Security are included in hosting for free [or $5/month for SSL]

    That's a great value-add to explain to our customers.

  • Spencer

    This is how you folks do it and the host as well. In my hosting company it is mostly administrative until the point of dedicated server before anyone needs to change name servers.

    Taking a step back to what Joe said, informing clients of an IP change may be the easiest option. It would have to be a mass message sent out with plenty of time to make the changes. Perhaps a network-wide reminder in the admin area as well with time for the support questions to start rolling in. In fact, I don't think that would be much of a problem because its like being open with your customers that your company is growing hence an IP needs changing to accommodate the growth until such time as a more permanent solution to the disk space scalability issue is found on DO e.g. despite how great DO is, it may be time to change host altogether or get a dedicated server.

    I totally love the idea of 'starting up' on the lowest cost possible then scaling up as the sales revenue allows for it.

    Furthermore, I've recently discovered NewRelic which offers FREE server monitoring with an estimated "time to full" based on recent consumption of disk space as well as CPU and RAM usages.

  • Fox Jones

    changing IP vs. changing nameservers. tough call.

    i'd prefer the latter because it gives me greater control [and yes, responsibility] over the domains and all aspects of them. eliminates the possibility of user error [except my own, of course], and allows me to make changes as i see fit. as opposed to waiting on clients to check their email, log in, figure out how to do it, do it wrong, etc...

    plus, you only have to ask them to change the nameservers once, then you're in control. how many times can you use the growth excuse to ask your customers to update their IPs before they get frustrated? i've gone through this once already [using the same line, actually], and i'm guessing my clients would not want to do this again. god forbid you should have to change your IP again, but if you did, at least you'd be in control.

    - fox

  • Spencer

    changing IP vs. changing nameservers. tough call.

    What if you didn't have to change IP's at all after it was set initially by the client and still be able to upgrade to a new droplet with higher resources especially more disk space?

    Contrary to thinking previously that it couldn't be done. Having scoured the DO forums I have found that it is indeed possible here.

    To quote: If you delete the original virtual server and then create a new one from the snapshot the backend will automatically attempt to return to you your original IP address.

    And from the DO chat I got this instruction: to resize disk space and get same ip: snapshot, test snapshot, destroy old server, create new server from snapshot

    In conclusion: I believe its far more intuitive for the end client to simply update their A record to the server IP once and leave it alone. As for CloudFlare, it would still be a valid option and may involve all the benefits without the need to manually change any IP's at all.

  • Fox Jones

    To quote: If you delete the original virtual server and then create a new one from the snapshot the backend will automatically attempt to return to you your original IP address.

    that's fantastic! thanks for figuring that out, Spencer. i experienced this once, getting the same IP after destroying a snapshot and restoring, but i thought it was just a fluke. if you can indeed guarantee that you'll get the same IP, that's great. it sounds like a bit of a crap shoot though: "attempt to return you to your original IP address"? what if another snapshot is created in between and snags the IP or something. and it's a big risk too, if you destroy it, and lose it, then all your sites are down until the IP is updated.

    still, sounds like a possible solution. i'm tempted to try it on my droplet, as i'm running out of space : )

    • David

      I use Digital Ocean for many different account's. I have a website with roughly 500K weekly visitors, which is on the $20/month plan. Everything has been REALLY smooth, more so than one could expect.

      I have few DO account's in the 10/month bracket that are just as smooth with a lot less visitors. If you aren't going to have an extreme amount of visitors or have a very dynamic website, I would say the $10/month plan is PERFECT.

      We have followed a few well written tutorials (via Google) about setting up raw unmanaged servers and Wordpress to be optimized for high quantity of visitors. At roughly 5-6 million visitors since launch I can honestly say the $20 VPS plan at DO is by far the best hosting account we have ever had outside of a dedicated server.

  • David

    Eh, I read multiple tutorials regarding integration of different cache plugin's

    - http://www.wpexplorer.com/wordpress-w3-total-cache/
    - http://code.tutsplus.com/tutorials/configuring-w3-total-cache-general-settings-i--cms-20920

    Some things worth noting, I think.

    I used CloudFlare with performance settings. I also cache EVERYTHING! The index refreshes like twice a day I think just to keep the postings up-to-date. I used several different tools to check page speed and kept tweeking until it was perfect. Server resources are usually low when checking uptime. 0.54, 0.91, 1.11 average just now.

    It did take roughly 2-3 weeks and multiple high server loads (crashing SQL) to get it right. We spiked at about 1300 online at one point and stressed the VPS. After some quick optimizations, I was able to get server load back down and SQL was fine. I usually restart server once a month to make every smooth.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.