how much performance for a web server?

jdm71488

n00b
Joined
Sep 28, 2005
Messages
33
would an older dell precision with a ~(p4 or xeon 1.8 to 2.4) with a gig of ram and mirrored scsi drives be suitable for a small web server?

i can find multiple precisions on ebay, but i do not know how much performance i would actually need. specifically, if i would really need to step up to dual processors or if i should even bother with a processor that is less than lets say 2.8 or so.

the difference would save a few hundred dollars. i could save money and buy newer scsi drives since most that i have seen only come with 1 drives, new fans, and other small things to really keep it running well. if i stepped up to a more expensive system, i would have to take it as it comes and not have much money to fix any possible issues.

the server would run php/mysql and house rather simple applications that i would license out to local businesses.

i have thought about buying a reseller account and running applications like that until i could save up some money for a better system, but i don't think anything is wrong with what i described above.

anyone using similar or worse setups?
 
Would people be running those applications directly from the machine? If so, are you expecting there to be many simultaneous users running these applications? How many users do you see you potentially having?

Right now I'd say a single CPU machine with a gig of RAM would be pretty beefy for a dedicated web server that doesn't get heavy traffic. I serve with mod_python on a VPS that only contains a fraction of what any of those machines would have.
 
i would hope to have around 3-5 applications running on the server.

I see maybe 5 businesses with 10-20 employees per, and a possible 20 users not related to businesses. this yields no more than 150 users at one time. however, each person doesn't have access to all applications, but only the ones they or their employer pays for.

guessing, i see at most 30-40 connections at one time.

to put the server to good use, i will host some web sites that use php for including templates.

nothing too strenuous i presume.
 
would anyone else confirm that a single processing 1gig server would be a bit more than sufficient for running web sites and few php/mysql applications with lamp?

to sum up: a 2.4 or higher p4 or xeon, 1gig or higher of ram, and mirrored scsi drives.

would you suggest a dimension or even an optiplex over a precision. if not, would you suggest any other type of machine?

thank you
 
It depends on the database size, query complexity, expected response time, user load, and page complexity.
 
True. There is no way I can gauge the answer to your statement.

Let's say I had some rather small and not-so-extensive PHP applications running along with some Web sites. Probably, I will have 20 Web sites using PHP for templating and 3 or 4 applications that mainly let users log in, store data, and manipulate data on the server.

I will mainly focus on Web sites, but I wish to start in on some applications in the future.

I will upgrade to about 2gig of ram and use mirrored SCSI drives to help performance.

dual xeon 2.0 or a single p4 2.4?

Can this lesser of the two handle some light/medium php apps?
 
If you're going to be running separate apps, starting with a single server isn't a bad idea. If one app starts taking up too many resources, it'll be easy to move over to a different, faster, box.

Being underpowered in your situation leaves you in a far more comfortable spot than having to worry about potentially splitting up an app across multiple servers & then load balancing thin. Also, considering that you're just starting this out, it allows you to grow your processing power as demand increases.
 
very helpful.

so as long as i have a few small apps rather than one or two huge apps, a single p4 2.4 would suffice, correct?
 
Sure. What Amoeba suggests is the way to go: measure, tune, and then measure again. Why not run your apps on whatever hardware you have laying around and use that as a baseline for your first decision, between the single P4 and dual Xeons?

Once you deploy, keep an eye on who's pegging what resource, and either upgrade or put them on a separate box.
 
What kind of hardware you need depends highly on what kind of content you'll be hosting: static html, php templated, php dynamically generated, etc...

If you are going to be doing alot of database intense stuff, it might even be smart to setup a stand-alone DB server, with alot of RAM and a fast disk subsystem (RAID 0 -- make sure you have backups!)

Your webserver should ideally have at least a gig of ram, if not 2. As for the choices of processor you listed, the P4 would probably be fine for non-intensive apps, but if some of your customers web apps start being cpu hogs, it can cause headaches.

The Dual CPU system can help to alleviate these problems (less cpu horsepower then the P4, but double the throughput, IE two apps can use 100% of each cpu) and may be more scalable in the end (especially if you want to host your databases on the same machine as the web server)

That said, I host my websites on a dual 1ghz with 1GB of ram, and 2 10krpm U320 scsi drives, and it runs well. my image gallery alone is a fairly DB intense application that gets about 100,000 hits a month (only about 1000 unique visitors a month though :p) and I have no problems whatsoever. I also host mirrors of several open source projects, which are all static content, and even with close to 1TB of traffic a month, my webserver does fine. YMMV.
 
I think it would be cost effective to start hosting only php templated Web sites. If you are running a dual 1.0, I should be able to survive with a single 1.8, correct? Of course your U320's help out a lot and I'm assuming you have a scsi card that brings out their full potential.

I do want to expand later on, so I can turn this server into the database server. I could then take some profit and buy a dual xeon 2.8 or something better for the applications.

I am not so much concerned with getting a precision anymore. I don't know why I was in the first place. I am either going to get a dimension or an optiplex with about a 2.0 p4 and 1gig of ram, I will put in a U160 scsi card and run two mirrored 15k 18gb drives. That should be about $300.

Thanks all.
 
What kind of connection are you going to have? Most likely this will affect things more than hardware... In any case, hard drive speed and RAM capacity really helps for databases, the best thing anyone can do is put their databases on a separate drive.
 
I am getting a business data line from my local ISP. They have options of:

2.0Mbps 384Kbps
4.0Mbps 512Kbps
7.0Mbps 768Kbps
10.0Mbps 1.0Mbps
12.0Mbps 1.5Mbps
15.0Mbps 2.0Mbps

Home Office Preferred
7.0Mbps 512Kbps

Home Office Premier
12.0Mbps 1.0Mbps


Is up or down the limiting factor for serving files?

I was planning on using an adaptec asc-29160 with two 18gb 15k drives, but now I realize that that card has no RAID support. So, I could do OS on 1 and DB on 2 with that card? Is this what you mean by having the DB on a separate drive?

I was told that the SCSI adpater takes a lot of the IO load off of the processor allowing it to focus more on the instructions sent to it. Since I have a single slower processor, this sounds good to me, but would anyone agree for going SCSI over SATA?
 
Since you're serving the files, you're uploading them to the web. I don't think using a low-bandwidth subscriber line is going to be a good idea for you, but maybe you know better. In your application, what's the maximum data transfer rate per day?

That metric will also help you know if you should invest in SCSI drives or if SATA drives are adequate. The fastest upload rate you found is 2.0 megabits per second. SATA drives can handle tens of megabytes per second, so we'd have to assume that if you're considering such slow connections that slower drives won't be a problem.
 
Dang. I don't know how to gauge the max transfer per day. I would guess if I had eventually 20 Web sites, maybe 50mb-100mb per day? Is that about right?

We could take 2.0Mbs/sec and run that at max for 24 hours and have 2x60x60x12 = 86400Mbs/day. But I know I won't get the full 2 every second. So, even if I send out 100Mb-200Mb per day I should be fine, correct?

I really don't want to pay for the highest service, even though the ISP hasn't sent me the prices. However, I know I have to.

I think going fiber would be going overboard, right?

I will stick with independent 18gb 15k SCSI drives on the 29160 U160. Mirrored would probably be better for downtime assuming I had extra drives laying around, but I think I will keep the DB on a separate drive as suggested.

Are there any suggestions to the connection up speed and drive configuration?

Thanks
 
It's impossible to give you any more specific advice without knowing anything about your database application and the usage patterns of the website.

You can find the transfer rate by looking through the logs for your existing server. (This is one way to measure, as Amoeba and I have been suggesting.) How many of these big files are being downloaded? How many hits are your apps taking, how frequently? How big is are their response messages? What are your goals for response time and customer download rates?

You'll probably find that the load goes in a cycle, depending on your customers. If it's mostly a business site and you do most of your business in North America, for example, you'll probably see the highest activity between business hours in the US, and low activity during off hours. That means you'll want to factor for the data rate at the peak time, and then even add some for overhead. Transferring 100 megs a day over 24 hours flat means you need a sustained rate of about 1.1 kilobytes a second. If 80% of that is done during 10 hours in the middle of the day, though, you'll need a peak rate of 2.2 kilobytes per second.

Over all the web apps in the world, the rates are going to wildly vary, so I'm not just busting balls by telling you that you've got to do this work yourself. Maybe your sites aren't popular and serve very small content. Then, a megabyte a day would be high. Maybe your sites are wildly popular, and serve giant pages and graphics. Then, maybe a gigabyte a day would be low.

I'm sure you can see that choosing a drive or a processor or other system components without having such fundamental information just doesn't make any sense.
 
The upload speeds that were advertised were probably in megaBITS per second, not megaBYTES per second as you calculated.

That leaves you with a theoretical maximum upload speed somewhere around 200 kiloBYTES per second...

200kb/sec x 60 sec/min x 60 min/hr x 24 hrs/day = 17.28gb/day theoretical total upload capacity.

Irregardless, you'll still be capped at a maximum upload speed of 200kiloBYTES per second, so if you have an image heavy site, you can have spikes of bandwidth usage that will max that out really quickly...

If you aren't going to be doing any redundant raid (1/10/5 etc...) then I highly suggest you setup some backups, at least to another machine, if not to tape or external HDD. You said you'll be hosting sites for people, so this is pretty much a must-have, as well.
 
I'm sure you can see that choosing a drive or a processor or other system components without having such fundamental information just doesn't make any sense.

Ugh. :) I completely understand. I have nothing to base my needs on.

I think 512 up will be fine. I currently have 512 up with a dynamic IP. I will setup the server and test it out before I move to the static IP.

I will go with the following unless someone suggests otherwise. A 2.4+ p4 with 1gb+ ram, a SCSI RAID card with mirrored drives. I will backup to a large IDE.

Sound good?
 
Honestly the best way to do this is to buy some rackspace in a datacenter near you and put the thing in there.
 
Indeed; whatever hosting solution you choose (from rent-a-rack colocation to shared servers) is probably going to have much better bandwidth than something you host yourself. Unless you upgrade to an expensive dedicated line, which it sounds like you don't want to do.
 
In all honesty, I will have eventually around 20 Web sites that will have at max 3 users on each at a time. 512 up should be plenty. If I ever get into hosting Web sites that are dugg I will worry about bandwidth.
 
I will concur with a few others on this, you don't want to be running this on your own home business connection, and if you do make sure you have some form of firewall in the front so you can black hole packet floods. Make sure you also read the agreement with your ISP very carefully if you do choose that route since they may have limitations on running services. Also you have to think about any form of outages be it power or connectivity because without a service level agreement with the providers of those services you may end up with some very pissed off customers.

I work for a dedicated server hosting company though so my perspective could be biased.
 
Thanks for the well-rounded thought out answers everyone. I had to get these two Web sites on board so I am going to pay monthly for a reseller account and sell portions of that account to myself. I will look further into this now that I have a good understanding of hardware and network performance.

Thanks again!
 
Back
Top