Нагрузочное тестирование с нуля: консольные инструменты

Алексей Рагозин, Вячеслав Смирнов

Консоль лабораторного стенда

Хост

  • bash
  • lxc list
  • top
  • web1

  • bash
  • top
  • tail -f /var/log/wordpress/access.log
  • awk -F '"' '{print $2}' /var/log/wordpress/access.log
  • awk -F '"' '{print $2}' /var/log/wordpress/access.log | sort | uniq -c | sort -n
  • awk -F '"' '{print $2}' /var/log/wordpress/access.log | grep GET
  • awk -F '"' '{print $2}' /var/log/wordpress/access.log | grep GET | awk '{print $2}'
  • awk -F '"' '{print $2}' /var/log/wordpress/access.log | grep GET | awk '{print $2}' | sort | uniq -c | sort -n
  • awk -F '"' '{print $2}' /var/log/wordpress/access.log | grep GET | awk '{print $2}' | sort | uniq -c | sort -n | awk '{print $2}' | tail -n 10
  • Хост

  • bash
  • curl -i 'http://wp.loadlab.ragozin.info/'
  • for i in {1..100}; do curl 'http://wp.loadlab.ragozin.info/' --write-out '%{http_code} %{time_total}\n' --silent --output /dev/null; done;
  • for i in {1..100}; do curl 'http://wp.loadlab.ragozin.info/' --write-out '%{http_code} %{time_total}\n' --silent --output /dev/null >> /tmp/test.1.txt; done; cat /tmp/test.1.txt; awk '{ total += $2; count++ } END { print "\nMean: " total/count "\n" }' /tmp/test.1.txt
  • Хост

  • bash
  • wget -S 'http://wp.loadlab.ragozin.info/'
  • for i in {1..100}; do curl 'http://wp.loadlab.ragozin.info/' --write-out '%{http_code} %{time_total}\n' --silent --output /dev/null; done;
  • for i in {1..100}; do curl 'http://wp.loadlab.ragozin.info/' --write-out '%{http_code} %{time_total}\n' --silent --output /dev/null >> /tmp/test.1.txt; done; cat /tmp/test.1.txt; awk '{ total += $2; count++ } END { print "\nMean: " total/count "\n" }' /tmp/test.1.txt
  • Хост

  • bash
  • sudo apt install apache2-utils
  • ab -n 100 -c 10 -k -m GET http://wp.loadlab.ragozin.info/
  • ab -n 100 -c 10 -k -m GET http://wp.loadlab.ragozin.info/2019/05/04/hello-world/
  • ab -n 100 -c 100 -k -m GET http://wp.loadlab.ragozin.info/2019/05/04/hello-world/
  • Хост

  • bash
  • sudo apt install httperf
  • httperf --server wp.loadlab.ragozin.info --num-conn 100 --rate=3
  • echo '/2019/05/04/hello-world/' > /tmp/test.url.txt
  • cat /tmp/test.url.txt
  • httperf --server wp.loadlab.ragozin.info --wsesslog=100,0.1,/tmp/test.url.txt --rate=3
  • httperf --server wp.loadlab.ragozin.info --wsesslog=100,0.1,/tmp/test.url.txt --rate=100
  • lxc exec web1 -- tail -f /var/log/wordpress/access.log