Author Topic: The Best Hosting Specs  (Read 588 times)

Legacy_BelowTheBelt

  • Hero Member
  • *****
  • Posts: 699
  • Karma: +0/-0
The Best Hosting Specs
« on: June 07, 2011, 10:44:13 pm »


               Hey all,

I'm looking to upgrade my server hardware and would like the perspective of those who have been doing it far longer and with more techincal expertise than I have.  Hosting has come along way over the years, though limitations of the engine has held us back a bit.  I'm willing to configure a system that represents the "best" hosting solution.  Essentially, I want a server that will hold 65 people and only lag due to my mediocre scripting skills '<img'>

1)  Differences between single core vs. Hyper Thread, vs. multicore chip on server performance.  I know NWN is a single-threaded game, but can the overall system (databases NWNx, etc...) be configured for HT or multicore to perform better/faster? 

2)  Ram.  I know max ram for NWN is 2Gig.  However, would say, 4+ enable the system to process db read/writes without impacting the game, thus reducing lag?

3)  HDD Speed.  I know faster is better.  is 7200 RPM enough?

4)  Laptop vs. tower vs. server.  PWs generally run 24/7, so the HDD is running continuously.  Is a "server" hdd designed better/differently to take constant uptime into account or are laptop hd's as good as any other machine to host?  Obviously there are benefits to hosting on a portable computer (small form factor that includes a monitor/keyboard).

5)  OS.  I've hosted on Windows XP and understand Linux to be better.  How much better in terms of stability and speed?  Is there anything that's been quantified?  I'm willing to dive into the learning cure and update tOS and NWNx to Linux, but want to make sure the effort is worth it.  It would be like learnig NWScript all over again...  Though there are some really cool Linux NWNx plugins that I'm itching to try that just might make it worth it in and of itself.

6)  Any other specs I should keep in mind or haven't listed (I'm not a techie so maybe I've missed something really obvious like L2 cache, whatever that is... or anything else that might be a nuance to the above that could make all the difference in the world - both the real world AND the PW).

Thank you so much for your considered responses.
               
               

               
            

Legacy_Khuzadrepa

  • Sr. Member
  • ****
  • Posts: 347
  • Karma: +0/-0
The Best Hosting Specs
« Reply #1 on: June 08, 2011, 01:17:38 pm »


               1) Go with the best you can afford.  My recommendation would be to get something quad-core that will give you maximum usefulness and lifespan should you decide to re-purpose the server for something else, later.  As for Hyper-Thread vs. multiple cores, give me more physical cores any day of the week!  A server proc (like a Xeon or Opteron) can be pricey, but you could do very well with a Phenom or one of the Core i5s or i7s that are quad-core (some aren't.)  My preference would be a Phenom. They are much less expensive and the performance is comparable.  Heck, for the price of most of the Core i5s/i7s, you can get a hex-core Phenom!  Anyway, applications are increasingly taking advantage of multiple cores, so I highly recommend going quad-core.

2) The more the merrier! There is no real issue with having lots of RAM.  Just remember, that depending on the operating system you use, some of the memory might not be addressable.  For example, WinXP 32-bit can only use 3GB+ of RAM, so putting in 4 or more won't net you anything.  However, you could snag a good deal on an 8GB kit, and just hold the extra RAM in the box for later usage.

3) 7200rpm is fine.  The only drives that can do better are the 10,000rpm Raptors from Western Digital, and Solid State Drives.  However, Solid State Drives have only been optimized in Windows 7 (I'm not sure where they stand with Linux) so ONLY use them if you are using Windows 7 (or if a Linux product supports them) as it can lead to a shortened drive life if used with other operating systems.  My preferred brand is Western Digital, as they have an EXCELLENT warranty and have shown good results in my experiences.
               
               

               


                     Modifié par Khuzadrepa, 08 juin 2011 - 12:20 .
                     
                  


            

Legacy_Khuzadrepa

  • Sr. Member
  • ****
  • Posts: 347
  • Karma: +0/-0
The Best Hosting Specs
« Reply #2 on: June 08, 2011, 01:36:44 pm »


               4) Personally, I don't think a laptop has the burliness to handle being a full-time server. Also, one of the most important considerations for your hosting machine is heat. A computer running 24/7 can generate a lot of heat, so it needs some extra cooling precautions.  Keep plenty of airflow around it, and keep it somewhere the temperature remains fairly stable and cool.  A laptop is a cooling nightmare, so I would recommend against it.  As far as server vs. regular tower, a server does have advantages in a few areas.  The processor, motherboard, and oftentimes the network card are more optimized for server traffic.  I can try to explain why if you want me to, but it's a lengthier discussion.  However, nowadays, the power of regular hardware has increased so much, that I think the gap has narrowed significantly for these functions.  I don't think you'll be disappointed if you skip out on getting "server" hardware.

5) I'm not sure any quantifiable data exists going either way.  The best advice I can offer is go with what you prefer.  One advantage Linux has (right now) is that they have a wider selection of NWNx plugins. Of course, there is a bigger learning curve with Linux. I enjoyed learning about Linux, so if you are interested, go for it! Otherwise, Windows can be a good selection, too.  Both can be good choices, in my opinion. The most important thing is that the OS is compatible with NWN.

6) Other than the aforementioned cooling issues, I would highly recommend a battery backup.  These can help protect your server from power spikes/surges, and increases its lifespan by conditioning the power coming in.  Also, make sure you setup a good way to backup your info.  Your module and server vaults getting lost can be a death knell to a PW.  I would recommend an external hard drive, or at the very least a flash drive.  If the box won't be accessible to you, you could also try a mirrored RAID setup as an extra precaution.
L2 cache is important... basically, it's like RAM, but it's right beside the processor chip, so it's Speedy Gonzales fast. The more on die memory (or cache) a chip has, typically the better it will perform (and also the more expensive it will be, cache is pricey.)
That's all I have for now, hope that helps!
Cheers,
Khuzadrepa
               
               

               


                     Modifié par Khuzadrepa, 08 juin 2011 - 12:37 .
                     
                  


            

Legacy_PlasmaJohn

  • Full Member
  • ***
  • Posts: 150
  • Karma: +0/-0
The Best Hosting Specs
« Reply #3 on: June 08, 2011, 04:21:34 pm »


               Note: for purposes of this note I use NWN and nwserver to refer to the standalone server and not the client.

Laptops are tempting because they have a built in UPS, screen and keyboard.  But laptops aren't built to run 24x7 and really aren't built to last more than 3 years.  Most use slow (5400rpm or even 4200rpm) drives unless you go SSD.  Nwserver is disk intensive.  SSD's aren't meant to handle the type of load that NWN puts on it.

I do use server grade disks (1M hours MTBF) on a hardware RAID controller.  But then I'm paranoid and they were only $10 more than their consumer equivalent.

Hyperthreading is meant for thread safe compute intensive loads.  Both the server and client are so thread hostile it is highly recommended to set CPU Affinity especially on AMD CPU's.  HT doesn't buy you anything in a typical NWN server environment (OS, NWN, mysql).

I highly recommend that if you want > 32 concurrent users that you spread them out over multiple servers.  There's a threshold around 20 where the game server gets deeply unhappy and you'll get lag issues or crashing. 

NWN's bandwidth is fairly light 2.5-3.0kbps per client so you don't need to go too crazy on NIC's or upstream.  The one thing I'd recommend would be to find a quality router.  Some of the off brands like Belkin tend to lock up over time.

I much prefer Linux (Ubuntu Server 8.04) over any Windows environment with one caveat.  All Windows OS's are resource pigs.  Even their server products force a GUI on you.  Without anything else, you've just thrown 2Gb of RAM and some amount of CPU cycles down the toilet.  Then there's the Microsoft tax.  $100 per OS instance is a non-trivial amount of money spread over 9 machines.  In my experience, nwserver is happiest running as the machine's only high-load application.

The Linux nwserver uses a text console.  I use the screen utility to put it into a virtual terminal.  I can then ssh into the machine and attach to tha terminal for administration purposes.  All text, no GUI.

The caveat:   The Whirlwind Attack bug was never fixed for the Linux server.


Our hardware has evolved over the years it's been rebuilt a few times.  Originally we ran on a collection of spare Windows boxes.  This was an administration nightmare.  Each one was different and only one person could remote in at a time.  Two years ago we bought completely new hardware: 2xXeon 4 core, 24Gb RAM, hardware RAID, dual 1GbE nics and it ran ESXi.  Performance was awesome.  Administering the VM's was a dream.  Administering ESXi was a nightmare.  I finally got frustrated with ESXi's lack of visibility that I rebuilt the machine to run VMWare Server on top of 64bit Linux.  Administering VMServer was... challenging, but doable.  Sadly VMWare Server's performance just cannot hold a candle to ESXi.  I recently rebuilt again.  This time the vault/db server is on it's own physical hardware and the 8 core beast is back to being an ESXi machine.  It's still a bit early to tell how this configuration does in the long term, but the performance improvement
               
               

               
            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
The Best Hosting Specs
« Reply #4 on: June 08, 2011, 05:47:34 pm »


               

PlasmaJohn wrote...

Note: for purposes of this note I use NWN and nwserver to refer to the standalone server and not the client.

Wow, nice to see you're still in the NWN community. Maybe I should peep in on the NWNX boards. '<img'> Anyway, most of what you wrote exceeds my technical knowledge or maps with it. I did have a few questions and a remark.

Hyperthreading is meant for thread safe compute intensive loads.  Both the server and client are so thread hostile it is highly recommended to set CPU Affinity especially on AMD CPU's.

Why especially AMD's? While I did this on my last box, my brand new, still-being-installed-with-software dev box is a 6 core AMD (and my first AMD).

I highly recommend that if you want > 32 concurrent users that you spread them out over multiple servers.  There's a threshold around 20 where the game server gets deeply unhappy and you'll get lag issues or crashing. 

The threshold you mention here is, in my experience, more variable than you make it sound, depending a great deal on other factors like number of pcs in the same area (not just total count).

NWN's bandwidth is fairly light 2.5-3.0kbps per client so you don't need to go too crazy on NIC's or upstream.  The one thing I'd recommend would be to find a quality router.  Some of the off brands like Belkin tend to lock up over time.

*Looks askance at his Belkin* ':?' What brands do you suggest? I'm not personally hosting anything but development servers, I'm just curious.

Thanks,
Funky
               
               

               
            

Legacy_PlasmaJohn

  • Full Member
  • ***
  • Posts: 150
  • Karma: +0/-0
The Best Hosting Specs
« Reply #5 on: June 08, 2011, 07:14:17 pm »


               

FunkySwerve wrote...

Wow, nice to see you're still in the NWN community. Maybe I should peep in on the NWNX boards. '<img'>

I'm not super active there, but I do poke my head in from time to time.'<img'>

... it is highly recommended to set CPU Affinity especially on AMD CPU's.

Why especially AMD's? While I did this on my last box, my brand new, still-being-installed-with-software dev box is a 6 core AMD (and my first AMD).

I forget the exact technical details, but it's more likely for threads to migrate between cores in AMD's architecture.  Normally this is superior behavior, but for programs that are not thread-safe it causes havok.  What I love about ESXi is that it deals with all that.  Heck it even makes hyperthreading useful.

I highly recommend that if you want > 32 concurrent users that you spread them out over multiple servers.  There's a threshold around 20 where the game server gets deeply unhappy and you'll get lag issues or crashing. 

The threshold you mention here is, in my experience, more variable than you make it sound, depending a great deal on other factors like number of pcs in the same area (not just total count).

Oh sure, there are lots of factors.  Even a high traffic server that sees a lot of unique character logins can get grumpy over time since the server maintains some state.

*Looks askance at his Belkin* ':?' What brands do you suggest? I'm not personally hosting anything but development servers, I'm just curious.

*Hides his Belkin under the rug* ':whistle:'

I have to reset the Belkin I'm currently using every couple months or so because it's locked up.  I suspect it's due to either the traffic or the diverse number of paths it has to send and receive from.  My preference is for an embedded x86 device running IPFire (a fork of IPCop).