client.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/bash
  2. export DB_HOST={database_host}
  3. set -x
  4. export DEBIAN_FRONTEND=noninteractive
  5. ##############################
  6. # Prerequisites
  7. ##############################
  8. sudo apt-get -y update
  9. # WARNING: DONT PUT A SPACE AFTER ANY BACKSLASH OR APT WILL BREAK
  10. # Dpkg::Options avoid hangs on Travis-CI, doesn't affect clean systems
  11. sudo apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
  12. build-essential git libev-dev libpq-dev libreadline6-dev
  13. sudo sh -c "echo '* - nofile 65535' >> /etc/security/limits.conf"
  14. ##############################
  15. # wrk
  16. ##############################
  17. rm -rf wrk-4.0.1.tar.gz wrk-4.0.1
  18. curl -sL -o wrk-4.0.1.tar.gz https://github.com/wg/wrk/archive/4.0.1.tar.gz
  19. tar xzf wrk-4.0.1.tar.gz
  20. cd wrk-4.0.1
  21. make
  22. sudo cp wrk /usr/local/bin
  23. cd ~
  24. #############################
  25. # pipeline.lua
  26. #############################
  27. rm -rf pipeline.lua
  28. cat << EOF | tee pipeline.lua
  29. init = function(args)
  30. local r = {}
  31. local depth = tonumber(args[1]) or 1
  32. for i=1,depth do
  33. r[i] = wrk.format()
  34. end
  35. req = table.concat(r)
  36. end
  37. request = function()
  38. return req
  39. end
  40. EOF