#!/bin/bash
if [ -z "$1" ]; then
    echo "Please supply an output directory for the test results"
    exit 1
fi

OUTPUT="$1"
mkdir -p "${OUTPUT}"

echo "Recording uname to Output directory ${1}"
uname -a &> "${OUTPUT}/uname.txt"

echo "Starting nginx"
sudo service nginx start

echo "Removing any qdisc on localhost"
sudo tc qdisc del dev lo root
echo "Running test of noqueue"
ab -n 100000 -c 100 http://127.0.0.1:80/ &> "${OUTPUT}/noqueue.txt"

echo "Starting TCPDump"
sudo tcpdump -U -i lo -w "${OUTPUT}/packet_dump.pcap" 'port 80' &
sleep 2

echo "Adding a pfifo 1000p qdisc on localhost"
sudo tc qdisc add dev lo root handle 1: pfifo limit 1000

echo "Running test of pfifo"
ab -r -n 100000 -c 100 http://127.0.0.1:80/ &> "${OUTPUT}/pfifo.txt"

echo "Killing TCPDump"
sudo pkill -2 tcpdump

echo "Done with Test"

