Date: Mon, 26 Apr 2004 15:39:19 -0700 From: Luigi Rizzo <rizzo@icir.org> To: Ivan Voras <ivoras@fer.hr> Cc: current@freebsd.org Subject: Re: Dummynet low bandwidth simulation Message-ID: <20040426153919.A74609@xorpc.icir.org> In-Reply-To: <408D85FD.10809@fer.hr>; from ivoras@fer.hr on Mon, Apr 26, 2004 at 11:58:21PM %2B0200 References: <408D85FD.10809@fer.hr>
next in thread | previous in thread | raw e-mail | index | archive | help
are you sure you aren't running out of mbufs ? netstat -m should tell you. Additionally, note that the 250ms of delay are probably way too much for your config (you are adding 250ms each way, which makes a 500ms RTT, not accounting for transmission times -- i think normal values here are more like 150-200ms rtt), and possibly irrelevant given how large your queues are -- a full-size packet is 12000 bits or 200ms, you can have up to 20 queued... cheers luigi On Mon, Apr 26, 2004 at 11:58:21PM +0200, Ivan Voras wrote: > 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. > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040426153919.A74609>