benchmark.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #! /bin/bash
  2. killall_echo_servers() {
  3. #sudo killall libevent_echo libev_echo libuv_echo libhv_echo asio_echo poco_echo muduo_echo
  4. ps aux | grep _echo | grep -v grep | awk '{print $2}' | xargs sudo kill -9
  5. }
  6. export LD_LIBRARY_PATH=lib:$LD_LIBRARY_PATH
  7. ip=127.0.0.1
  8. sport=2000
  9. port=$sport
  10. killall_echo_servers
  11. if [ -x bin/libevent_echo ]; then
  12. let port++
  13. bin/libevent_echo $port &
  14. echo "libevent running on port $port"
  15. fi
  16. if [ -x bin/libev_echo ]; then
  17. let port++
  18. bin/libev_echo $port &
  19. echo "libev running on port $port"
  20. fi
  21. if [ -x bin/libuv_echo ]; then
  22. let port++
  23. bin/libuv_echo $port &
  24. echo "libuv running on port $port"
  25. fi
  26. if [ -x bin/libhv_echo ]; then
  27. let port++
  28. bin/libhv_echo $port &
  29. echo "libhv running on port $port"
  30. fi
  31. if [ -x bin/asio_echo ]; then
  32. let port++
  33. bin/asio_echo $port &
  34. echo "asio running on port $port"
  35. fi
  36. if [ -x bin/poco_echo ]; then
  37. let port++
  38. bin/poco_echo $port &
  39. echo "poco running on port $port"
  40. fi
  41. if [ -x bin/muduo_echo ]; then
  42. let port++
  43. bin/muduo_echo $port &
  44. echo "muduo running on port $port"
  45. fi
  46. sleep 1
  47. client=2
  48. time=60
  49. if [ $# -gt 0 ]; then
  50. time=$1
  51. fi
  52. for ((p=$sport+1; p<=$port; ++p)); do
  53. echo -e "\n==============$p====================================="
  54. bin/webbench -q -c $client -t $time $ip:$p
  55. sleep 1
  56. done
  57. killall_echo_servers