Bug #1186
closedLinux 2.6 / gthread-aio pauses for 0.5s in FUTEX_WAIT
Description
Consider this test case.
dd if=/dev/zero of=10G.bin bs=1 count=1 seek=10000000000
Serve file with lighttpd and fetch it locally.
wget --no-proxy -O /dev/null http://whatever/10G.bin
With default server.network-backend (linux-sendfile) I get 290M/s.
With posix-aio lighttpd closes connection because mmap failed in network_posix_aio.c.358.
With gthread-aio I get 25M/s, data coming for some time, then 1s pause, coming again...
I use lighttpd-svn rev 1856.
SMP Linux 2.6.19.7 on Pentium D 2.8GHz, glibc-2.5-13.fc6.
Would be great if someone can reproduce this.
If not, I give some straces (anything else needed?).
26274 16:09:28.210449 <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out) <0.502715>
Files
Updated by jan over 17 years ago
You only see the joblist-thread here.
I would need a full strace of the request over all threads. Use the option -f at startup to trace the other threads too.
Updated by Anonymous over 17 years ago
am using svn-r1857 on centos 4.5/x86-64. I don't see difference between gthread-aio/linux-sendfile when trying to slurp a 10M file
With both I get 9.98M/s
server.event-handler = "linux-sysepoll"
server.max-fds = 16384
server.max-keep-alive-requests = 70
server.max-keep-alive-idle = 5
server.max-read-idle = 60
server.max-write-idle = 360
server.use-noatime = "enable"
server.max-stat-threads = 2
server.max-read-threads = 2
server.network-backend = "gthread-aio"
-- yusufg
Updated by Anonymous over 17 years ago
10M ain't no good. Try 10G.
9.98M/s? Does not sound like localhost.
Updated by Anonymous over 17 years ago
Linux 2.6.22.2 stats with lighttpd-svn-r1900¶
linux-sysepoll 340M/s
linux-aio-sendfile: 1.1M/s
gthread-aio: 400K/s
Updated by Safari almost 17 years ago
This bug is fixed by patch in #1517
Tried with gthread-aio only.
Updated by gstrauss over 8 years ago
- Description updated (diff)
- Status changed from New to Fixed
- Assignee deleted (
jan)
fixed per above note
Also available in: Atom