benchmark.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: benchmark
  2. on:
  3. push:
  4. paths-ignore:
  5. - '**.md'
  6. pull_request:
  7. paths-ignore:
  8. - '**.md'
  9. jobs:
  10. benchmark:
  11. name: benchmark
  12. runs-on: ubuntu-18.04
  13. steps:
  14. - uses: actions/checkout@v2
  15. - name: prepare
  16. run: |
  17. sudo apt update
  18. sudo apt install libssl-dev
  19. sudo apt install nginx
  20. - name: make tinyhttpd httpd wrk
  21. run: |
  22. ./configure
  23. make tinyhttpd httpd wrk
  24. - name: build echo-servers
  25. run: |
  26. bash echo-servers/build.sh
  27. - name: benchmark echo-servers
  28. run: |
  29. bash echo-servers/benchmark.sh
  30. - name: webbench
  31. run: |
  32. sudo nginx -c /etc/nginx/nginx.conf
  33. sudo cp html/index.html index.html
  34. sudo cp html/index.html /var/www/html/index.html
  35. bin/httpd -c etc/httpd.conf -d
  36. ps aux | grep nginx
  37. ps aux | grep httpd
  38. bin/tinyhttpd 9090 &
  39. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:80/
  40. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:8080/
  41. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:9090/
  42. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:80/404
  43. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:8080/404
  44. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:9090/404
  45. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:8080/ping
  46. bin/wrk -c 100 -t 2 -d 10s http://127.0.0.1:9090/ping