Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

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) Перейти к цитате

Добрый день.

Есть сайт, на сайте есть списки данных. Мне необходимо провести стресс-тест следующего рода: при каком количестве пользователей, следующему будет список отображаться уже с некомфортным ожиданием - 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 p.s. положат, даже не дышите, всё горит, звёзды бывают чёрные дыры b.png

Автор: follet Oct 29 2019, 11:47

(silenx @ Oct 29 2019, 10:45) Перейти к цитате

у вас изначально в терминах путаница, "сайт" - из носа выковырян.есть 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) Перейти к цитате

с командой, которая выдаёт мне нужный результат я разобрался, вопрос открыт т.к. мне теперь нужно этот запрос запустить например 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