Я только начал проводить несколько тестов в нашей прикладной системе с помощью JMeter. В настоящее время мы запускаем установку из трех серверов. Запросы поступают на балансировщик нагрузки, который отправляет их на один из двух серверов Apache (Ubuntu). Каждый из этих серверов имеет ссылку на единственный сервер базы данных, на котором работает MySQL.
Вот мой вопрос: когда я запускаю тесты с примерно 100 запросами за раз, мои два сервера кода приложений достигают максимальной загрузки ЦП примерно на 35%, а моя база данных спокойно находится на уровне 0,3%. Что могло быть причиной такой высокой загрузки серверов приложений?
Я совершенно новый для администратора сервера
Короче ... ваше приложение делает слишком много тяжелой работы. Есть ОГРОМНОЕ количество причин, по которым это могло быть ... и даже больше способов попробовать и отладить это. К сожалению, не существует 1 универсального инструмента для поиска обвисших бит. Большинство инструментов для этого зависят от платформы ... (не только от ОС, но и от языка и платформы). Некоторые из них лучше, чем другие.
Быстрый и грязный способ найти слабые места в приложении ... это вставить пару время проверяет и измеряет, сколько времени обработки посвящено различным компонентам вашего кода. Как только вы узнаете, какие биты занимают больше всего времени ... рефакторинг, очистка, оптимизация и т. Д. ... пока он не будет работать настолько гладко, насколько это возможно ... и начните процесс заново.
Следующая ссылка имеет такие же советы, может быть полезно для
http://studyhat.blogspot.com/2009/12/identifying-linux-bottlenecks.html
http://studyhat.blogspot.com/2010/08/user-activity-view-processes-display.html