Sendfile performance regression from 4.x to 5.x
Kevin Day
toasty at dragondata.com
Sat May 15 22:27:15 PDT 2004
We've got two nearly identically configured servers, serving the exact
same load. Quick config:
Dual P4 2.8Ghz with HTT enabled, 2GB RAM
ahc SCSI adapter, with 4 drives in a vinum RAID5 config
Dual bge gigabit network cards
Server 1 is running 4.8
Server 2 is running 5.2.1
Other than OS version, everything is identical for all practical
purposes.
I'm running thttpd with USE_SENDFILE enabled. Both servers are
receiving approximately equal numbers of requests to download some
large files. (5MB to 200MB)
Server 1 can easily push 300-500mbps. I'm pretty sure it could go
higher, we just run into bandwidth limits at that point. With the caps
removed, we've hit 800mbps for a short while.
Server 2 seems to cap out around 80mbps, with thttpd spending most of
it's time in "Giant" or "kqueue" according to top, the CPU around 90%
idle.
What's really strange is that right when thttpd starts up on 5.2, it
will start sending 200mbps or higher for the first 10-15 minutes, and
then start tapering off back down to 80mbps. It doesn't look like a
thttpd bug, since it seems to work flawlessly on 4.x.
I know a lot of work is being done on locking, sendfile and kqueue fun,
so I'm not complaining. I just wanted someone to know this was
happening, and hopefully have someone point out something obvious I'm
missing that could be causing this... Anyone run into this before?
-- Kevin
More information about the freebsd-net
mailing list