Версия для печати темы
forum.0day.community _ Программирование _ Bash скрипт для теста сайта
Автор: follet Oct 29 2019, 10:19
Добрый день.
Есть сайт, на сайте есть списки данных. Мне необходимо провести стресс-тест следующего рода: при каком количестве пользователей, следующему будет список отображаться уже с некомфортным ожиданием - 3 сек например. В связи с тем, что сайт работает на амазоне, и там автоскалинг групп, и сайт "положить" скорее всего будет очень тяжело, больше интерес к оптимизации фронта и бека. Я программирование не изучал, но мне сказали, что это можно реализовать через Bash - Curl например отправить один запрос, посчитать время до ответа, потом отправить 2 запроса и до тех пор, пока например ответ не будет віполнен за 3-5 сек. Как я понимаю там тоже есть циклы и т.д.
Подскажите, как это можно проще реализовать?
Автор: silenx Oct 29 2019, 10:45
(follet @ Oct 29 2019, 10:19)
![Перейти к цитате](style_images/0day[1]/message_quote_arrow.svg)
Добрый день.
Есть сайт, на сайте есть списки данных. Мне необходимо провести стресс-тест следующего рода: при каком количестве пользователей, следующему будет список отображаться уже с некомфортным ожиданием - 3 сек например. В связи с тем, что сайт работает на амазоне, и там автоскалинг групп, и сайт "положить" скорее всего будет очень тяжело, больше интерес к оптимизации фронта и бека. Я программирование не изучал, но мне сказали, что это можно реализовать через Bash - Curl например отправить один запрос, посчитать время до ответа, потом отправить 2 запроса и до тех пор, пока например ответ не будет віполнен за 3-5 сек. Как я понимаю там тоже есть циклы и т.д.
Подскажите, как это можно проще реализовать?
у вас изначально в терминах путаница, "сайт" - из носа выковырян.есть url(locator) и uri(identificator), определитесь: куда вам? к умным или к красивым? https://ru.wikipedia.org/wiki/URI#%D0%A1%D0%B2%D1%8F%D0%B7%D1%8C_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_URI,_URL_%D0%B8_URN
![ok.png](style_emoticons/0day_emo/ok.png)
p.s. положат, даже не дышите, всё горит, звёзды бывают чёрные дыры
Автор: follet Oct 29 2019, 11:47
(silenx @ Oct 29 2019, 10:45)
![Перейти к цитате](style_images/0day[1]/message_quote_arrow.svg)
у вас изначально в терминах путаница, "сайт" - из носа выковырян.есть url(locator) и uri(identificator), определитесь: куда вам? к умным или к красивым?
Конечно к умным и красивым 2 в 1 )
URL отправлять запрос методом GET
Автор: follet Oct 29 2019, 12:16
единичный запрос выглядит вот так:
CODE Format
$ curl -s -w %{time_total}\\n -o /dev/null https://musite.ua/userapi/installationList
Автор: follet Oct 29 2019, 14:16
с командой, которая выдаёт мне нужный результат я разобрался, вопрос открыт т.к. мне теперь нужно этот запрос запустить например 10 раз, при этом не последовательно, а сразу, ну или 10 раз за 1 секунду, как это можно реализовать в bash?
Автор: silenx Oct 29 2019, 14:40
(follet @ Oct 29 2019, 14:16)
![Перейти к цитате](style_images/0day[1]/message_quote_arrow.svg)
с командой, которая выдаёт мне нужный результат я разобрался, вопрос открыт т.к. мне теперь нужно этот запрос запустить например 10 раз, при этом не последовательно, а сразу, ну или 10 раз за 1 секунду, как это можно реализовать в bash?
падает комета на землю, остаются два инопланетных вируса, один говорит:"что-то, бля, холодно!" второй: "НИЧЕГО, надышим!"
Автор: follet Oct 29 2019, 16:19
Мне нравится юмор, по этому поделюсь дальнейшими успехами, но возможно рассчитываю на дополнительные рекомендации:
CODE Format
#!/bin/bash
i=0;
for i in {1..11};
do curl -H "Authorization: Bearer MyToken" -s -w 'time:\t%{time_total}\n' -o /home/it/Documents/overload-folder/result.txt https://site.ua/userapi/installationList & i=$(($i+1));
done
Автор: Белкин Nov 11 2019, 23:18
попробуйте apache benchmark, запускается одной командой.
Например: ab -k -c 50 -n 1000 18.130.244.45/ (1000 запросов, по 50 запросов одновременно)
Автор: -RC- Dec 2 2019, 16:27
через curl будет сложно дать нагрузку.
лучше что-то типо gatling, оно даст максимальную нагрузку более эффективно утилизируя все ядра процессора.
но лучший стресс тест - это распределенная система, которая не даст реверс проксям включить рейт лимиты или по хеш функции выдавать с кэша результат.
это дорого, но более приближенно к истине.
ну и счет за ELB может стоит эгегей.
Автор: KONYAKA Dec 5 2019, 20:44
https://loader.io
Автор: JamSteks Aug 27 2021, 6:15
Подскажите есть ли приложение для Android, которое при помощи фитнес-браслета определяет фазу БДГ или поверхностного сна и посылает короткий вибросигнал на браслет?
Invision Power Board
© Invision Power Services