I was just curious because a discussion came up in WMW about Vbulletin and someone was talking about the excessive amount of hardware he needed to use to run his forums. (I think he was talking about supporting 800 peak users normally with some high peaks of 2000). I was just curious as to what DP was running on. I forgot you are such a hardcore Apple person too. Are you just using a single server for the forum or more than 1?
Ok, guess it wasn't all that expensive. Compared to a PC it is. I never bought a server. Wow, 20k investment. Damn.
I'm not "bound" to Apple stuff... I looked at everything when I needed new servers, and the Xserves were actually about half the cost of comparable Linux/xBSD setups, so that's the reason I went with them. Be my guest and price out a 1U rack mountable computer with dual 64-bit processors, 16GB RAM, 1.2TB of hot swappable (hardware RAID-5) drive space, dual gigabit Ethernet ports, etc. I couldn't find any platform remotely competitive price-wise. Anyway... the forum does use 2 Xserves, but not because it has to. I just like to isolate processes. For example one is nothing but a database server (runs all the high traffic database stuff for digitalpoint.com... forums, keyword tracker, ad network, etc.) The other is nothing but a web server, and also runs nothing but high traffic web stuff for digitalpoint.com (forums, ad network ad delivery and impression tracking, GeoVisitors, etc.) The one acting as a web server does roughly 750 dynamic (PHP) hits per second on average (it's saturating more than a T1 worth of bandwidth in both directions for just the HTTP headers in the requests). It probably could peak around 4,000-5,000 per second. Most of that is ad network impression tracking (logging an HTTP hit for every page view of every site running the ad network). A single, properly tuned Xserve could run this forum, SitePoint, vBulletin.com and WebmasterWorld all on the one machine without any problems. I'm probably going to get a few more Xserves so I can start messing around with making my own cluster of computers to act as a single server (infinite scalability then).
Thanks for the information. Are you happy with the overall performance of the xserves? I assume so if you are going to get more and cluster them. I was ignorant that Apple made any kind of real performance servers like that. Thanks for the information about its capabilities. That is what I thought. The discussion was why Webmasterworld did not run VBulletin instead of their homegrown bestbbs. And one of the responses triggered my curiosity with what you were running. Are you doing additional backup (database and webserver) beyond using raid 5? I know you like to keep the forums minimalist in order to enhance performance. In your experience is there anything inherently resource intensive with VBulletin with large userbases compared to other alternatives?
Yep, I'm happy with the overall performance (although like any server designed for a specific task, it needs a little tuning of things... rather than using everything as "default"). The only reason I haven't gotten more already is I'm hoping they come out with dual core CPUs for them soon (maybe January?) so they would essentially be quad processor machines like they did with their PowerMac towers. Yes... all my servers (not just databases) get backed up in their entirety nightly. vBulletin has made some pretty good strides as far as performance/resources needed. vBulletin 2.x was okay... 3.x was pretty good... 3.5 is really good. There are all sorts of scalability optimizations (for example it uses a datastore for common items like preferences, forum structure, usergroups, etc. so it doesn't need to query the database as often). It also has datastore sub-classes which can be optionally enabled for storing things directly in shared memory. It has native slave DB support (for example if you wanted to route all your search queries to one DB server). I don't use any of the slave DB support, but it's there if you want it. One thing I really like about the vBulletin developers is they are efficiency and speed freaks like me. And they are adding some stuff in upcoming versions to make it even more efficient/scalable.
I like the slave DB support. Seems like that would be useful when you got to a critical mass with a hardware spec. Do you have anything planned for all these additional xserves or is it just to support growth? One final question.. Are you running any kind of hardware firewall in front of all your servers?
I don't have anything specific planned for them other than "more of the same". The first thing I'll use them for is to have "spares" so I can upgrade the operating system on them without taking anything down. For example make one of the "new" ones the new DB server so I can take the old DB server offline and upgrade it. I'm all about zero downtime. Once I get that out of the way I just want to start playing around with automated clustering mechanisms (I'll probably end up developing it myself) so pulling/adding a new server is nothing more than plugging it in (have the existing servers sync up with a new one for example before it's publicly available). So I can just pull a server out of the cluster to do whatever I want with it (like an upgrade) or add a new machine to the cluster for more overall "power". Basically I need something new and interesting to play with. Of course. Which is why they don't respond to nonsense (like pings). I believe the only ports that are public on them are 80 (web) and 25 (email). Anything else is closed down completely or heavily restricted (for example you need to be from a specific IP address to be able to attempt to SSH into them).
I am not an Apple user and much less familiar with servers. But, out of curiosity, what firewall do you use? Hardware and/or software? And would you happen to know how they compare with Windows firewalls, (not the MS one but the more advanced ones). FFMG