Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как мне выполнить стресс-тест / нагрузочное тестирование клиент-серверного приложения?

ПрограммированиеData science+3
Анонимный вопрос
Data Science
  · 678
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 11 авг 2022
1:Подключайте и отключайте клиентов предельно интенсивно, чтобы увидеть, насколько хорошо вы справляетесь с инициализацией и завершением сеансов, и насколько ваш сервер выдерживает всплески, а также при выполнении этого измерения, сколько клиентов не могут подключиться. Это очень важно
2:Подключите клиентов и оставьте их включенными, скажем, на 4-5 дней, выполняя случайные действия (FuzzTest). Время кругового пути каждого действия. 
Также записывайте порядок действий, потому что таким образом ваши "клиенты" найдут лазейки в ваших вариантах использования (очень важно, и сложно и интенсивно протестировать).
3 и 4: Определите основные варианты использования вашей системы и напишите скрипты,выполняющие эти задачи. Затем запустите несколько клиентов, выполняющих одну и ту же задачу (3), а также несколько клиентов, выполняющих разные задачи (4).
Для Серверов СУБД очень важен предельный Transaction-rate (per second). Также важно предельное число клиентов пока Сервер не начинает свопинговать.
Умение правильно мониторить via "htop" состояния сервера ведущие к падению. Предельное количество одновременных блокировок. Высокое число блокировок часто приводит к падению сервера даже при 10-20 конфликтующих за доступ к таблицам приложений. Определите ситуации когда  Fast-Recovery не выводит сервер в онлайн. Тестируйте в QA Environment On-line backups (не менее одно раза в неделю),которые  длятся 4-7 часов. Нужно быть уверенным в Disaster Recovery procedure.Обычно фаза наката пула транзакций (накопленных за ночь) приводит к падению Сервера. CPU Utilization > 90% (Unix Like Systems) чрезвычайно опасно (Htop).