Results 1 to 5 of 5

Thread: Image server

  1. #1
    Join Date
    Nov 2005

    Cool 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?

  2. #2
    Join Date
    Nov 2006
    Tampa, Florida
    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)

  3. #3
    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~
    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.

  4. #4
    Join Date
    Jun 2004
    Bay Area
    Take a look at this:


    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% .
    That might already help you a lot. Even though faster drives might be a good thing to think about anyway

  5. #5
    Join Date
    Nov 2005
    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts