Назад | Перейти на главную страницу

Стресс-тест и настройка сервера для новичков?

В нашем городе скоро состоится очень публичное мероприятие (сбор данных для общественных мест, доступных в мэрии), которое потребовало, чтобы наша компания создала приложение-форму для отправки учебных программ и некоторых личных данных. Ожидается, что около 5-10 тысяч пользователей представят данные в первую неделю из-за огласки, которую получает мероприятие, и предыдущего опыта нашего клиента.

У меня был хороший опыт использования Amazon EC2 для небольших приложений, поэтому я планирую запустить инстанс, специализирующийся на вводе-выводе, ожидая массивного ввода данных.

Приложение будет работать либо на IIS + MySQL, либо на Tomcat + MySQL на сервере Windows.

Я был бы очень признателен за некоторые мысли и предложения по тестированию и настройке этого веб-сервера для стресса и одновременного взаимодействия пользователей, чтобы избежать простоев и потери соединений. У меня мало опыта работы с таким количеством пользователей, поэтому я новичок в использовании таких инструментов.

ПРОГРЕСС:

На мой взгляд, эти два ресурса облегчают понимание jmeter помимо официальной документации.

Поскольку вы хотите протестировать это приложение во всем стеке, вам, вероятно, понадобится что-то, что может заполнять формы, входить в систему и т. Д. Jmeter довольно обширен в этом отношении.

Самое главное - убедиться, что вы проводите стресс-тестирование различных аспектов, которые затронут весь стек, включая серверную часть SQL. Кроме того, обычно полезно убедиться, что вы просматриваете много разных страниц, если ваше приложение построено таким образом, чтобы вы не просто сравнивали кеш-память систем. Неправильное использование a / b для простой загрузки статической страницы снова и снова является пустой тратой времени, если вас не заботит только производительность Apache в лучшем случае.

Обычно процесс:

Подготовка:

  • Убедитесь, что стресс-тестирование стоит потраченного времени
  • Разработайте обширный стресс-тест, который протестирует весь стек (например, Jmeter). Если время ограничено и вы не можете этого сделать, используйте свою кросс-функциональную команду (разработчики, dba, системные администраторы и т. Д.), Чтобы лучше догадаться, где находится узкое место.
  • Убедитесь, что у вас есть процесс, который будет контролировать все соответствующие системные ресурсы во время тестов.

Исполнение:

  • Провести стресс-тест
  • Анализируйте результаты на предмет узкого места
  • Устранить узкое место
  • Повторение

В заключение, я часто обнаруживал, что подготовка достаточного количества систем для реального тестирования системы является одной из трудных частей, поэтому ваше решение Amazon кажется мне хорошим.

ab от Apache - очень популярный инструмент для стресс-тестирования. Я бы посмотрел на это и посмотрю, соответствует ли это вашим потребностям.

Ответы Oreilly: как проводить стресс-тесты с помощью AB