I'm trying to test one of my own *.pl scripts which takes form input and does DBI / file access behind the scenes.
I want to check hit rate of up to 30 submissions per second, but under the control of one script I can't seem to do it, each LWP request having to wait for its own return, unless I'm missing something?? I guess I'm heading for something like threading or having to kick off 30 concurrent perl processes per second which isnt very nice. Any better solutions?? code below.
NB Pls ignore dot star for the moment
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
my %field = ('name' => 'value');
my @rcs;
for (1..100) {
push @uas, LWP::UserAgent->new;
}
my $req = POST 'http://server/cgi/script.pl', \%field;
for (@uas) {
my $html = $_->request($req)->as_string;
if ($html =~ /<return>(.*)?<\/return>/s) {
push @rcs, "return is $1\n";
} else {
push @rcs, "error";
}
}
my $i = 0;
for (@rcs) {
print "$i : $_\n";
$i++;
}