Ideal WordPress Multisite + BuddyPress server setup

Hi,
I'm currently setting up a VM with RHEL6 64-bit OS on a 200GB mounted drive. Within two years there will be over 40K users. I need to make sure I set up the foundation correctly and I've never created a WP Multisite project anywhere close to this size.

Should I just setup the MySQL database on the 200GB drive and use the Multi-DB plugin to split the database into 256? Should I separate the databases onto additional mounted drives?

Is 4GB and 1 CPU enough? I'm mostly a designer and web developer and don't have a ton of experience on the system admin level. Any insight or resources into laying the foundation for a large network would be greatly appreciated.

Thanks!
Nate

  • rpeterson

    @grahamn,

    40K users isn't that bad and should'nt take up more than 10GB of space more than likely (appx. based of some larger sites I have),

    4GB and i CPU will be enough to start out however, you will want to do a couple things:

    1) Separate your MySQL and Web Server, having them on the same box will overtax the memory when you really start getting new users. Having a single Read/Write MySQL server will work for you for quite a while.

    2) Look into HyperDB(http://wordpress.org/extend/plugins/hyperdb/) to separate your User meta table and the rest of your site data. Doing this at the start will help you keep up speed on the site and you won't regret it later (This is what WordPress.com / Automattic) does on their thousands of nodes cluster.

    3) Don't fret too much about getting started, it isn't terribly difficult to upgrade / migrate WordPress into new hardware or a new environment when you are at 40K users, its easier at that level then when you start to get into the 500K+ realm.

    I love sys admin stuff, so feel free to ask me any other questions on this you may have.

  • aecnu

    Greetings grahamn,

    Thank you for your great question in which I am inclined to think that the recommendation rpeterson gave in this event is not enough due to experience and it is what I do for a living.

    I am not suggesting that the advice isn't valuable, but you may want to seriously consider getting a bit more powerful of a server to run this.

    But of course there is one way to know for sure by doing it.

    1) Separate your MySQL and Web Server, having them on the same box will overtax the memory when you really start getting new users. Having a single Read/Write MySQL server will work for you for quite a while.

    I totally disagree with this and here is someone running 80,000 blogs on a single server and no song and dance needed between MySQL server and the Web server needed:

    https://premium.wpmudev.org/forums/topic/what-would-be-the-best-hosting-for-a-network#post-288348

    And this is an absolute.

    Please let us know if you have any further questions and I am sure rpeterson or myself can get it answered for you.

    I do agree to disagree with his server configuration suggestion without prejudice, the caching will not be needed in the event I am talking about, and it will scream right along.

    Thank you both for being WPMU DEV Community Members!

    Cheers, Joe

  • grahamn

    Thanks @rpeterson and @aecnu and @Imperative Ideas

    This is all very helpful. I would use private hosting if I could but I'm setting this up for a very large, public university and because of FERPA and university policies, I have to host with the server farm here. They recommended 1 CPU, 4GB ram to start but I can expand later. They don't deal with WP at all though so I wanted to get your expert advice.

    I think there's some productive friction between what the two of you are saying about whether to separate the database from the web server or not. @aecnu you think I should just put the database and WP core files, etc., on the same 200GB mounted drive?

    @rpeterson if I were to go your route, what do I do with that 200GB mounted drive since it came with the recommendation and has already been paid for? I should put the database on the 200GB drive and order a separate, much smaller drive for the web server?

    Thanks again!

    Best,
    Nathan

  • aecnu

    Greetings Nathan,

    Having the database on the same server is just fine and having the database on a different drive works too as well.

    The fact of the matter is that a 200GB hard disk drive means old, it is not 6gbs and almost certainly not 3gbs therefore cannot compete with today's drives or systems, but this is often the case when dealing with Universities and there so called equipment.

    Been there done that. However, due to I/O and read/write ques I would say having the database on a separate drive will indeed be better then one drive in this case.

    @Imperative Ideas do you have one of those VPS's by any chance? The reason why I ask is I want to put it up against one of my $30 VPS's with Dual Xeon Quad Cores, 16GB of RAM, 512MB for PHP, and 6gbs HDD's and see how long it lasts ... lol ... I bet I spank them so hard it makes their head spin. Let me know.

    In any event, thank you both for being WPMU DEV Community Members and have a GREAT upcoming weekend!

    Cheers, Joe

  • aecnu

    Greetings Imperative Ideas,

    Thank you for that thought which is certainly and genuinely appreciated.

    I BS you not that my configurations really do scream right along.

    You are a powerful and knowledgeable force and I believe your opinion would be equally as powerful and valuable as well.

    Tomorrow being Monday which is a hell day similar to Fridays - in respect to getting things done and work flow, I invite you to take a test drive and tell me what you think if you got an extra domain laying around to allocate to the test.

    Let me know.

    Cheers, Joe

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.