Web Hosting Talk







View Full Version : How many clients to a server


ADEhost
08-22-2002, 02:24 AM
Well funny thing I was just reading another thread. and it brought up a few good point.

How many domains does a server hold?

Based on my little bit of reaseach and my servers I will try to define the objective:

the objective is not how many domains, but the maximum sustainable revenue from a set of given resources.

for example let's take on of my win servers.
I pay a consultant $500 for the design of my server each time I get one. Well worth it ... let me explain.

not all servers are created equal, some are slow some don't have the right chip set some don't play nice with raid controler cards...

now I had designed a server just for web page output that was under windows with ASP and Cold Fusion with MS Access being used.

the consultant gave me the following config ( general )

nic card : 99% of stated output ( you would be surprised at how many NIC cards don't even come close to 90% of stated output )

Motherboard and ram and cpu : funny, the CPU did not play that imporant part, but the montherboard did ( one that holds 4 gigs of ram ) and of course ram.

drive card and drive : this one tossed me for a loop but I'll share it. drive card was a specific brand, but the drive had to follow certain rules, Low latency times, lot's of platers and small diameter, spin rate 10K. well after looking around we found a rather large selection that fit. Also I negected to mention that we bought 2 drives and 2 controler cards.

some other goodies are also involved but this covers the basics.

Now we tested this server under some load tesing.

sustains 4.6 m-bit's of output steadys at cpu rate of 75% average over 1 hour

sustains 3.4 m-bit's of output with hi- I/O activity and the cpu at 75% over 1 hour

sustains 2.9 m-bit of output with heavy I/O activity ( 80 % writes 20% reads ) CPU at 75%, heavy multi request trasactions over 1 hour

Now does the above mean anything to how many domains I can handle, No not really, it just states the limits the configuration of the server. if I run my numbers right I could easy hold about 1785 parked domains ( 255 x 7 )

but the above does have some some specific meaning to me.

I, on average, per win server have in the range of 120 to 140 domains. the most on 1 server is 224 and the least is 18 on another server. As some of you know, I have some clients that have a daily output exceeding 9 gigs and servers exceeding 25 gigs per day. My clients need that, they also require that I tune the servers every week, and check everything. Now how do I know that a server has the maximum sustainable revenue? for me that's easy, I like to have my servers running on a average of 43% load, with average spikes over 1 hour not exceeding 73% this is based on 24/7/365.

How do I go about getting a sustain rate, Simple really, I ask my clients simple questions, for example, " I would like to know where you get most of your traffic from" , just with that answer alone I get the objective of usage and the distribution of that usage over a 24 hour day. so with that information I try to match that client up with a server that is light durring the hours that they are busy on. Keeping the usage of the server even and at a steady rate. That's why I'm always asking my clients qestions.

Had a client do some advertsing, bang I got the spike in trafic, did not know what was happening and he was taking the cpu up to 80% average. servers withstood it. and by the time the sun set, the server was almost down to normal. got slashdotted not to long ago, hit flat 100%, called the client to see what he wanted to do (bndwidth usage was screaming ), I got to love my client, Placed a simple banner exchage advert's ( 4 different ones ) on the page in question) with a note saying up tommarow, and the link to goggle cache of his site.

well now you know, a server can hold alot of sites, it all depends on the systems resources, and the usage, and the sustained rate of usage, abuse any of those and you will loose clients

Mike

www.adehost.com

Aussie Bob
08-22-2002, 03:19 AM
Nice post Mike. Very well thought and explained. It made for excellent and informative reading. :agree:

Dymex
08-22-2002, 07:16 AM
Thanks Mike

Geek3
08-22-2002, 02:20 PM
Mike, well explained. In fact, I'm going to print that out now for some of my techs to also read. Thank you for that. :) (and thank you for sharing advice that came to you probably at a cost. Thank you.

ADEhost
08-22-2002, 02:41 PM
Oh let me add something to this.

had a client recently, his web site is the weirdest of them all when it comes to traffic. My nic name for him is "spikey", Why? he does 87 gigs of traffic a month ( +- 5 gigs ) every 7 seconds is a page load always( 24/7/365) , what this does to my MRTG chart is have almost a straight line for his traffic, but when combined with the server traffic on a 5 minite average is that he's the based line of when the server is low in traffic, and the traffic spikes to 1.3 to 1.8 when it's busy, IE: 15 request all happening in the same second that the graph is going to print, Bang there is the ultra high spike.

he's the account that I move to the low activity server or the newest one I get because I get a steady flow and can follow the abuse to the server rather well.


Also I got 2 private messages about my testing. they were what do I use.

on windows ( not unix ) I run the Mysql with a populated database, mysql on windows is a read and write i/o hog. top that with another database running Access 2000 and you got yourself pleanty of abuse that you can dish out to the server your testing.

the mysql get's tested against a php test scritp and the access get's tested against a cold fusion script. slam the servers as hard as you can force the scrits to work and your goal is to flat line it over a 6 hour period. once you got the averages recorded ( about 30 hours of work ) you have a general idea of how many request per second your server can handle, what's the max you can move per second in B/W and the most important thing is that you might find some bottlenecks that need to be cleared

Mike

sebek
08-25-2002, 12:52 PM
this is good info, thx to all.

advantagecom
08-25-2002, 09:34 PM
That's quite a bit of CPU usage for the amount of bandwidth you showed during your throughput tests.

What kind of tests were they? Did they involve scripts like you mentioned in the description of your 6 hour test? Or was it just a straight throughput test? What was the size of the page used in the test?

Our experience (using FreeBSD and Linux - won't touch Windows with a 30,000 mile pole :D) is that real world usage usually involves a lot more than just page and script loads. For instance, all it takes is one site with large graphics or downloadable files to skew your throughput info. Large downloads have the same transaction overhead as any request, but considerably more bandwidth usage over the life of the request.

We've had servers running Linux scale comfortably to 9Mbit/sec with just a simple PII 450MHz and 512MB of RAM. That was mostly HTTP downloads of a 2MB file with very little scripting, though.

With non-TCP/IP socket oriented traffic (ICMP, UDP, and other connection-less protocols), a PII 200MHz with 16MB of RAM running Linux can saturate a 100Mbit line.

Our experience shows that you can usually put about 1000 domains on a FreeBSD machine with a 1.3GHz CPU that has a decent amount of L1 and L2 cache on chip.

The server load won't even approach the 1.0 mark, so you'll have plenty of spare power to muscle through most customer advertising campaigns.

The number of domains you can put on a FreeBSD server is primarily RAM related (and some kernel variables). You will want a minimum of 1MB of RAM per domain with 2MB per domain more comfortable. Any less than that and you will probably start swapping which chews through CPU ticks faster than anything else.

With Linux, the number of domains you can put on a server is primarily kernel related. It has some limitations within the kernel that are difficult to tune to allow high numbers of domains with good levels of stability. We don't generally put more than 250 domains on a Linux server, regardless of its specs.

ADEhost
08-26-2002, 01:07 AM
I'm not qualified to speak about linux and how to maximize the results of my systems under unix.

but win2k is another story:

<quote >
For instance, all it takes is one site with large graphics or downloadable files to skew your throughput info. Large downloads have the same transaction overhead as any request, but considerably more bandwidth usage over the life of the request
</quote >

you are right, with the proper cache system you can maximize the throughput to 90% + of the Nic card.

but the test under the win platforms are created so as not to ever take advantage of the cache. what I pay for is max raw power, not the refined power ( that comes from the tuning afterwards )

the goal is to find the max it can take, then bring that up higher with the tuning. once tuned to specific level I retune to adjust for loads ( had a ad serving company sign up and that required a huge change in configs, mostly ended up caching and spent a fortune on a ram drive and placed thier database exclusively on it )

you unix guys have all the goodies, I will say that much. it's very easy to reduce the overhead in server usage without much work. and yes I would agree with you that under unix 1000 domains is easy to fit, and if configure correctly ( even with intense application ) you might not need to ever have over a dual 550 system.

What really worries me if the future designing of databases, the new generation of coder's and database table designers are in the habit of forgeting I/O usage ( not like in my day when you thought about everything in the tables and tried desperately to minimize all aspects of it) and ask for these huge databases uugghh. will it never end. populate the database with a grafic image and not a link to the image LOL

anyway, win has a huge overhead and you really have to take your time tuning and testing, but once you have the limits of each piece of equiptment and know the bottlenecks it bocome alot more easyier.

Mike

advantagecom
08-26-2002, 02:31 AM
Thanks for clarifying that for me. I can appreciate the challenge you are undertaking by doing Windows hosting.

After 4 years of running a hosting company I am still baffled by the demand for Windows hosting, but it is certainly there.

We've contemplated it at least once, but were stifled by the sheer complexity of getting Windows to operate reasonably as a server (not to mention figuring out the MS licensing scheme).

If you've got the stuff to handle that complexity, hats off to you. You're a better man than I.:cartman:

Sounds like you've got it down to a science.

ADEhost
08-26-2002, 10:51 AM
Originally posted by advantagecom
Thanks for clarifying that for me. I can appreciate the challenge you are undertaking by doing Windows hosting.

After 4 years of running a hosting company I am still baffled by the demand for Windows hosting, but it is certainly there.

We've contemplated it at least once, but were stifled by the sheer complexity of getting Windows to operate reasonably as a server (not to mention figuring out the MS licensing scheme).

If you've got the stuff to handle that complexity, hats off to you. You're a better man than I.:cartman:

Sounds like you've got it down to a science.

No need to tip you hat, just send money LOL

My motto for web hosting is :

" WHEN IN DOUBT, HIRE A CONSULTANT "

that's what I've done with unix and with box designs.

windows is somewhat easy for me since I've made it a habit of the procedures that must be done on a daily / weekly and monthly cycle. Uptime on my servers is measured between hotfixes or updates ( wish I could make 80+ days on a win server )

Also the term shear complexity is an understatement, the cost for some software the you DO need to monitor you win servers can easy set you back 300+ per server, trade off is that you know when your servers are under attack or when someone is running those kill the memory scripts.

Mike