89 lines
1.8 KiB
Bash
89 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
host=127.0.0.1
|
|
port=2000
|
|
connections=100
|
|
duration=10
|
|
threads=2
|
|
sendbytes=1024
|
|
|
|
while getopts 'h:p:c:d:t:' opt
|
|
do
|
|
case $opt in
|
|
h) host=$OPTARG;;
|
|
p) port=$OPTARG;;
|
|
c) connections=$OPTARG;;
|
|
d) duration=$OPTARG;;
|
|
t) threads=$OPTARG;;
|
|
*) exit -1;;
|
|
esac
|
|
done
|
|
|
|
SCRIPT_DIR=$(cd `dirname $0`; pwd)
|
|
cd ${SCRIPT_DIR}/..
|
|
|
|
killall_echo_servers() {
|
|
#sudo killall libevent_echo libev_echo libuv_echo libhv_echo asio_echo poco_echo muduo_echo
|
|
if [ $(ps aux | grep _echo | grep -v grep | wc -l) -gt 0 ]; then
|
|
ps aux | grep _echo | grep -v grep | awk '{print $2}' | xargs sudo kill -9
|
|
fi
|
|
}
|
|
|
|
export LD_LIBRARY_PATH=lib:$LD_LIBRARY_PATH
|
|
|
|
killall_echo_servers
|
|
|
|
sport=$port
|
|
|
|
if [ -x bin/libevent_echo ]; then
|
|
let port++
|
|
bin/libevent_echo $port &
|
|
echo "libevent running on port $port"
|
|
fi
|
|
|
|
if [ -x bin/libev_echo ]; then
|
|
let port++
|
|
bin/libev_echo $port &
|
|
echo "libev running on port $port"
|
|
fi
|
|
|
|
if [ -x bin/libuv_echo ]; then
|
|
let port++
|
|
bin/libuv_echo $port &
|
|
echo "libuv running on port $port"
|
|
fi
|
|
|
|
if [ -x bin/libhv_echo ]; then
|
|
let port++
|
|
bin/libhv_echo $port &
|
|
echo "libhv running on port $port"
|
|
fi
|
|
|
|
if [ -x bin/asio_echo ]; then
|
|
let port++
|
|
bin/asio_echo $port &
|
|
echo "asio running on port $port"
|
|
fi
|
|
|
|
if [ -x bin/poco_echo ]; then
|
|
let port++
|
|
bin/poco_echo $port &
|
|
echo "poco running on port $port"
|
|
fi
|
|
|
|
if [ -x bin/muduo_echo ]; then
|
|
let port++
|
|
bin/muduo_echo $port &
|
|
echo "muduo running on port $port"
|
|
fi
|
|
|
|
sleep 1
|
|
|
|
for ((p=$sport+1; p<=$port; ++p)); do
|
|
echo -e "\n==============$p====================================="
|
|
bin/pingpong_client -H $host -p $p -c $connections -d $duration -t $threads -b $sendbytes
|
|
sleep 1
|
|
done
|
|
|
|
killall_echo_servers
|