Dummynet low bandwidth simulation
Ivan Voras
ivoras at fer.hr
Mon Apr 26 14:58:24 PDT 2004
I'm trying to see how a web server performes when "attacked" by many low
bandwith connections, and my idea is to use dummynet to simulate such
conditions from a single client computer on the same (100Mbps) LAN. I've
created a pipe:
ipfw pipe 1 config bw 56Kbit/s delay 250 queue 20 buckets 1024 mask all
My rules are:
ipfw pipe 1 tcp from me to webserver dst-port 80
ipfw pipe 1 tcp from webserver 80 to me
When I start the benchmark program (siege) with relatively low
concurrency (50 clients), everything works as expected, but after
increasing to 100+ simultaneous requests, I start getting huge amounts
of "read error: Connection reset by peer" and "broken pipe" messages.
During that time the load on the web server is low (plenty of idle time
and memory).
Without traffic shaping, the server handles 250-300 concurrent requests
without problems in the same setup.
I've tried changing the queue and bucket size (and adding 'noerror'),
with no results. Eliminating latency (delay 0) "fixes" the problem, but
it's not meaningfull that way.
Am I missing something?
--
C isn't that hard: void (*(*f[])())() defines f as an array of
unspecified size, of pointers to functions that return pointers to
functions that return void.
More information about the freebsd-current
mailing list