Skip to contentSkip to conversation

need better I/O scheduler for bulk file serving

DISCUSSION Felix von Leitner 3 participants 3 messages May 18, 2003

lore
Share & tools
lore
#0 lore raw

I'm doing some network scalability testing on Linux. I'm using sendfile and epoll on non-blocking file descriptors, and I am uploading several large files (CD images in my case) to several downloaders.

When only one peer is downloading, I get wire speed bandwidth utilization.

When three people are downloading different images (my server "only" has 512 MB RAM, so it can't hold even one of the images in memory) at the same time, the bandwidth utilization goes down to 6 MB/sec on my fast ethernet NIC. The hard disk appears to be busy seeking.

What knobs exist to tweak this? This appears to be exactly the kind of problem the I/O schedulers are trying to solve, right? And the kernel has perfect knowledge of what is going to happen because sendfile is called with file size as length. Larger read-ahead maybe?

Felix

#1 lore raw
Quoted 2 lines · Felix von Leitner

Larger read-ahead maybe?

Or an anticipatory scheduler. You don't say what kernel you're using.

We can set the readahead per-fd now, but the fcntl/ioctl hasn't been implemented.

#2 lore raw
Quoted 6 lines · Andrew Morton
Quoted 2 lines · Felix von Leitner

Larger read-ahead maybe?

Or an anticipatory scheduler. You don't say what kernel you're using.

yes, IMHO he could give a spin to my tree with better readahead and see if it helps.

Andrea