Bash скрипт для теста сайта, время выполнение запросов |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6727-й день
![]() |
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Bash скрипт для теста сайта, время выполнение запросов |
follet |
Пост
#1
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 319 С нами с: 19-March 06 ![]() |
Добрый день.
Есть сайт, на сайте есть списки данных. Мне необходимо провести стресс-тест следующего рода: при каком количестве пользователей, следующему будет список отображаться уже с некомфортным ожиданием - 3 сек например. В связи с тем, что сайт работает на амазоне, и там автоскалинг групп, и сайт "положить" скорее всего будет очень тяжело, больше интерес к оптимизации фронта и бека. Я программирование не изучал, но мне сказали, что это можно реализовать через Bash - Curl например отправить один запрос, посчитать время до ответа, потом отправить 2 запроса и до тех пор, пока например ответ не будет віполнен за 3-5 сек. Как я понимаю там тоже есть циклы и т.д. Подскажите, как это можно проще реализовать? |
![]() ![]() |
silenx |
![]()
Пост
#2
|
Репутация: ![]() ![]() Дух Группа: - Пользователи - Сообщений: 111 С нами с: 1-April 19 ![]() |
Добрый день. Есть сайт, на сайте есть списки данных. Мне необходимо провести стресс-тест следующего рода: при каком количестве пользователей, следующему будет список отображаться уже с некомфортным ожиданием - 3 сек например. В связи с тем, что сайт работает на амазоне, и там автоскалинг групп, и сайт "положить" скорее всего будет очень тяжело, больше интерес к оптимизации фронта и бека. Я программирование не изучал, но мне сказали, что это можно реализовать через Bash - Curl например отправить один запрос, посчитать время до ответа, потом отправить 2 запроса и до тех пор, пока например ответ не будет віполнен за 3-5 сек. Как я понимаю там тоже есть циклы и т.д. Подскажите, как это можно проще реализовать? у вас изначально в терминах путаница, "сайт" - из носа выковырян.есть url(locator) и uri(identificator), определитесь: куда вам? к умным или к красивым? потом и спрашивайте ![]() ![]() Сообщение отредактировал silenx - Oct 29 2019, 11:14 |
follet |
Пост
#3
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 319 С нами с: 19-March 06 ![]() |
|
follet |
Пост
#4
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 319 С нами с: 19-March 06 ![]() |
единичный запрос выглядит вот так:
CODE Format $ curl -s -w %{time_total}\\n -o /dev/null https://musite.ua/userapi/installationList |
follet |
Пост
#5
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 319 С нами с: 19-March 06 ![]() |
с командой, которая выдаёт мне нужный результат я разобрался, вопрос открыт т.к. мне теперь нужно этот запрос запустить например 10 раз, при этом не последовательно, а сразу, ну или 10 раз за 1 секунду, как это можно реализовать в bash?
|
silenx |
![]()
Пост
#6
|
Репутация: ![]() ![]() Дух Группа: - Пользователи - Сообщений: 111 С нами с: 1-April 19 ![]() |
с командой, которая выдаёт мне нужный результат я разобрался, вопрос открыт т.к. мне теперь нужно этот запрос запустить например 10 раз, при этом не последовательно, а сразу, ну или 10 раз за 1 секунду, как это можно реализовать в bash? падает комета на землю, остаются два инопланетных вируса, один говорит:"что-то, бля, холодно!" второй: "НИЧЕГО, надышим!" Сообщение отредактировал silenx - Oct 29 2019, 14:53 |
follet |
Пост
#7
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 319 С нами с: 19-March 06 ![]() |
Мне нравится юмор, по этому поделюсь дальнейшими успехами, но возможно рассчитываю на дополнительные рекомендации:
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 |
Белкин |
Пост
#8
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 226 С нами с: 31-October 09 ![]() |
попробуйте apache benchmark, запускается одной командой.
Например: ab -k -c 50 -n 1000 18.130.244.45/ (1000 запросов, по 50 запросов одновременно) |
-RC- |
Пост
#9
|
Репутация: ![]() ![]() bifurcated person ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 ![]() |
через curl будет сложно дать нагрузку.
лучше что-то типо gatling, оно даст максимальную нагрузку более эффективно утилизируя все ядра процессора. но лучший стресс тест - это распределенная система, которая не даст реверс проксям включить рейт лимиты или по хеш функции выдавать с кэша результат. это дорого, но более приближенно к истине. ну и счет за ELB может стоит эгегей. |
KONYAKA |
Пост
#10
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 266 С нами с: 18-March 09 ![]() |
|
JamSteks |
Пост
#11
|
Незарегистрированный ![]() |
Подскажите есть ли приложение для Android, которое при помощи фитнес-браслета определяет фазу БДГ или поверхностного сна и посылает короткий вибросигнал на браслет?
|
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 15th August 2024 - 2:20 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |