# AE + EV + AnyEvent::Http # this is the best one so far, it'll do 34mbps # it's "only" using 80% cpu use strict; use warnings; use EV; use AnyEvent; use AnyEvent::HTTP; sub response { my ($body,$headers) = @_; my $size = length $body; my $url = $headers->{URL}; print "finished $url, $size bytes\n"; } my @urls = ; while(1) { my $url = $urls[int(rand(int(@urls)))]; chomp $url; print "start: $url\n"; http_get $url, \&response; EV::loop EV::LOOP_NONBLOCK; } __DATA__ some urls...the same ones that the Siege test used