ApacheBench
view release on metacpan or search on metacpan
lib/HTTPD/Bench/ApacheBench.pm view on Meta::CPAN
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET / HTTP/1.0" 200 5565
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /perl-status HTTP/1.0" 200 848
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /server-status HTTP/1.0" 200 5294
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /proxy-status HTTP/1.0" 200 5891
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET / HTTP/1.0" 200 5565
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /perl-status HTTP/1.0" 200 848
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /server-status HTTP/1.0" 200 5294
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /proxy-status HTTP/1.0" 200 5878
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET / HTTP/1.0" 200 5565
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /perl-status HTTP/1.0" 200 848
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /server-status HTTP/1.0" 200 5294
127.0.0.1 - - [20/Sep/2000:19:04:38 -0400] "GET /proxy-status HTTP/1.0" 200 5878
Let's take a look at the regression data from that last execute() call.
foreach my $run_no (0..1) {
foreach my $repeat (0..2) {
print "response times (in ms) for run $run_no, iteration ".($repeat+1).":\n ";
print join("\n ", @{$b->run($run_no)->iteration($repeat)->response_times});
print "\n";
}
}
Perl output:
response times (in ms) for run 0, iteration 1:
69
39
response times (in ms) for run 0, iteration 2:
67
39
response times (in ms) for run 0, iteration 3:
65
41
response times (in ms) for run 1, iteration 1:
67
40
response times (in ms) for run 1, iteration 2:
66
39
response times (in ms) for run 1, iteration 3:
65
39
=head1 BUGS
Error checking in configuration is good but not perfect.
If you do not configure correctly, you may experience a
segmentation fault on execute().
The body of any response which comes back larger than the B<buffersize>
applicable to it may be truncated to zero length. If you expect to receive
responses larger than the default 256K buffersize, make sure to set your
$run->buffersize() big enough for the largest page you anticipate receiving.
If you are running in perl's taint-checking mode, and you pass tainted data
to ApacheBench (e.g. a tainted URL), it will barf. Don't ask me why.
HTTP Proxy support needs to be expanded to allow for a username and
password.
=head1 AUTHORS
The ApacheBench Perl API is based on code from
Apache 1.3.12 ab (src/support/ab.c), by the Apache group.
The ApacheBench Perl API was originally written by Ling Wu <ling@certsite.com>
Rewritten and currently maintained by Adi Fairbank <adi@adiraj.org>
Recent efforts have been made to incorporate the newest ab code from the Apache
Group. As of version 0.62, most features of Apache 1.3.22 ab are supported.
The main exception being SSL.
Please e-mail Adi with bug reports, or preferably patches.
=head1 LICENSE
This package is free software and is provided AS IS without express or
implied warranty. It may be used, redistributed and/or modified under the
terms of the Perl Artistic License
(http://www.perl.com/perl/misc/Artistic.html)
=cut
( run in 0.787 second using v1.01-cache-2.11-cpan-5b529ec07f3 )