2016-11-04 2 views
1

Я использую экземпляр Amazon EC2 с типом экземпляра m3.medium и экземпляром базы данных Amazon RDS.Ошибка AWS-сайта, потому что использование утилиты cpu достигает 100%

В рабочее время сайт отключается, так как загрузка процессора достигает 100%, а ночью (нерабочее время) загрузка процессора составляет 60%.

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

Как только я установил задание cron за каждую минуту, но я был удален из-за проблемы с замедлением, но все же у меня проблема с сайтом.

CloudWatch chart

Когда я пытаюсь использовать команду «сверху», я имел шоу ниже изображений для использования центрального процессора, в котором команда HTTPD потребляет больше использования центрального процессора, так что любое предложение для настройки, чтобы уменьшить использование центрального процессора с помощью команды HTTPd Без использования сайта любым пользователем ниже двух изображений: http://screencast.com/t/1jV98WqhCLvV http://screencast.com/t/PbXF5EYI После доступа к сайту одновременно 5 пользователей http://screencast.com/t/QZgZsiNgdCUl

+0

Слишком мелкие детали. Поскольку этот экземпляр RDS обслуживает веб-сайт, вы должны проверить файл журнала веб-сайта, чтобы узнать, какая программа запускает высокий уровень использования RDS-процессора. – mootmoot

ответ

2

Если вы используете CPU, то 100% у вас есть два варианта.

  1. Увеличьте свой экземпляр EC2 до большого.
  2. Используйте AutoScaling для запуска еще одного экземпляра EC2 того же типа экземпляра.

Похоже, вам нужны какие-то запланированные действия, так как вам не требуется 100% -ное использование ЦП в нерабочие часы.

Наилучшим вариантом является использование AWS AutoScaling с плановыми действиями.

AWS AutoScaling может запускать новые экземпляры EC2 на основе использования вашего процессора (или других показателей, таких как Network Load, Disk read/write и т. Д.). Таким образом, вы всегда можете сохранить свой сайт живым.

Использование запланированных действий AutoScaling позволяет указать такие показатели, при которых вы останавливаете свои автомасштабированные экземпляры в течение нерабочих часов и экземпляров автомасштабирования в рабочее время в соответствии с использованием CPU (или другими метриками).

Вы можете даже остановить свои севера, если вы им понадобятся в какой-то момент времени.

Если вы не знакомы с AWS AutoScaling, вы можете следить за документацией, которая является очень точной и простой. http://docs.aws.amazon.com/autoscaling/latest/userguide/GettingStartedTutorial.html

+2

Согласовано. Третий вариант, конечно, состоит в том, чтобы ** исследовать, какие процессы потребляют процессор в вашей системе **. Используйте стандартные методы (например, глядя на процессы, память, доступ к диску), чтобы определить узкие места в вашей системе. –

+0

@john, как я могу исследовать/найти, какой процесс обрабатывает процессор. – Mech

+0

@ Али, я попробую ваше предложение. позже я отвечу на ваш ответ. Еще одна вещь, на которой мой сайт имеет один вызов ajax каждые 3 секунды, может быть, это причина для использования этого процессора? – Mech

0

Если загрузка процессора достигает 100% bacause из числа посетителей ваш сайт есть, вы должны рассмотреть, чтобы изменить тип экземпляра, Auto Scaling или AWS CloudFront для того, чтобы кэшировать столько запросов HTTP, как Возможное (статические и динамический контент).

Если посетители не проблема, и есть другие запланированные задачи на EC2 isntance, я настоятельно рекомендую, чтобы отделить эти нагрузки через AWS SQS & AWS Elasticbeanstalk - Worker type

Смежные вопросы