#!/usr/bin/perl # # Test using ApacheBench against an HTTP server with lots of idle clients # use IO::Socket; use Getopt::Long; use strict; use warnings; our $NCLIENT = 3000; our $BASELINE = 0; our @CLIENT; sub create_client { my $socket = new IO::Socket::INET ( PeerAddr => '127.0.0.1', PeerPort => 8080, Proto => 'tcp', ) or die $!; push @CLIENT, $socket; } GetOptions("baseline" => \$BASELINE, "idle=i" => \$NCLIENT) or die; for (my $i = 0; $i < $NCLIENT; $i++) { create_client(); } print "====> Created $NCLIENT idle connections <=====\n"; system "ab -n 5000 -c 500 http://localhost:8080/";