Results 1 to 5 of 5
Thread: Image server
-
11-13-2006, 05:24 PM #1Web Hosting Guru
- Join Date
- Nov 2005
- Posts
- 346
Image server
Hi, a silly question perhaps, but I'll ask anyway...
I have some servers that each hold about 4GB of static image content and they each serve data at about 50-60mbps. They use 250GB IDE drives and have 1GB RAM. The problem now is that they have about 20-30% IOWait. Even though they still function very well now, I worry that if content reaches 8GB, this will really start being a problem.
Is it expected to get such IOWait when the dataset is only 4GB?
-
11-13-2006, 05:56 PM #2Junior Guru Wannabe
- Join Date
- Nov 2006
- Location
- Tampa, Florida
- Posts
- 30
I would say this depends on how many people are access the content. If the server handles a lot of files for its content you might want to look in to a SCSI solution or a SATA II Raid (NCQ will help greatly)
-
11-13-2006, 05:58 PM #3Disabled
- Join Date
- Jan 2006
- Posts
- 388
it doesnt matter the amount of data you have, but the amount of times that data is trying to be accessed.
Your problem is:
#1. IDE drives
#2. you could use more RAM
#3. you could disperse load over multiple drives, or use a RAID system
I would say you need to upgrade to:
P4 2.8~
2GB DDR RAM
74GB Raptor 10K RPM
This should handle 100Megabits.
I wouldn't go over 100Megabits per server, so plan for 1 server per 100Mbps.
You could spend more and go for a SCSI drive, which would require a PCI Riser (maybe) and a SCSI controller ... or save money and a Raptor should be able to handle it.
-
11-13-2006, 06:37 PM #4Web Hosting Master
- Join Date
- Jun 2004
- Location
- Bay Area
- Posts
- 1,320
Take a look at this: http://blog.lighttpd.net/articles/20...-and-linux-aio
Summary
Using Async IO allows lighttpd it overlap file-operations. We send a IO-request for the file and get notified when it is ready. Instead of waiting for the file (as in the normal sendfile()) and blocking the server, we can handle other requests instead.
On the other side we give the kernel to reorder the file-requests as it wants to.
Taking this two improments we can increase the throughput by 80%.
On the other side we don’t spend any time in wait in lighty itself. 64 kernel threads are handling the read()-calls for us in the background which increases the idle-time from 12% to 40%, a improvement of 230% .
-
11-14-2006, 04:53 AM #5Web Hosting Guru
- Join Date
- Nov 2005
- Posts
- 346
Thanks for the replies, guys. How large a dataset do you think I could be able to serve with a better configuration (more RAM, better HD)?
I'm already using lighttpd, so linux-aio is definitely something to look into.