Находить узкое место

Я только начал запускать некоторые тесты в нашей системе приложений, используя JMeter. В настоящее время мы запускаем установку с тремя серверами. Запросы отправляются на балансировщик нагрузки, который отправляет его на один из двух серверов Apache (Ubuntu). Каждый из этих серверов имеет ссылку на один сервер базы данных, на котором работает MySQL.

Вот мой вопрос: когда я запускаю тесты со 100 или более запросами одновременно, мои два сервера с кодами приложений достигают пика примерно в 35% использования ЦП, а моя база данных спокойно сидит на 0,3%. Что может быть причиной такого высокого использования на серверах приложений?

Я совершенно новый для администратора сервера

2 ответа

Решение

Короче говоря... ваше приложение делает слишком много тяжелой работы. Существует огромное количество причин, по которым это может быть... и даже больше способов попробовать и отладить его. К сожалению, не существует 1 универсального инструмента для поиска отвисших битов. Большинство инструментов для этого зависит от платформы... (не только от конкретной ОС, но и от языка и фреймворка). Некоторые из них лучше, чем другие.

Быстрый и грязный способ найти слабые места в приложении... это провести пару временных проверок и измерить, сколько времени обработки отводится различным компонентам в вашем коде. Как только вы узнаете, какие биты потребляют больше всего времени: рефакторинг, очистка, оптимизация и т. Д.... пока он не станет настолько плавным, насколько вы можете это сделать... и начнете процесс заново.

Следующая ссылка имеет такие же советы, может быть полезно для

http://studyhat.blogspot.com/2009/12/identifying-linux-bottlenecks.html

http://studyhat.blogspot.com/2010/08/user-activity-view-processes-display.html

Другие вопросы по тегам