У меня есть быстрорастущий (10 млн вызовов в день) веб-сервис, который в настоящее время находится на одном экземпляре приложения EC2, на котором работает ubuntu10.04 + apache + APC + memcache (+ несколько ферм mysql master / slave на других экземплярах).
Я планирую обновить экземпляр приложения одним из следующих способов:
1) Увеличьте до большего типа экземпляра
2) Разделить на несколько серверов приложений
Я могу довольно хорошо оценить использование памяти и использование процессора на основе текущих графиков сервера.
Я опасаюсь, что если я выберу более крупный тип инстанса EC2, сетевой ввод-вывод может стать узким местом по мере роста трафика.
Мои вопросы: Как я могу оценить использование сетевого ввода-вывода и ограничения? Как узнать, сколько свободного трафика я смогу обработать, пока он не станет перегруженным. (с точки зрения пропускной способности сети, а не оперативной памяти сервера / процессора)
Раньше у меня был сервер CentOS / plesk на Mediatemple, и моим узким местом был kmemsize, который представляет собой ограниченный объем неизменяемой памяти, которая заполнялась при увеличении сетевого трафика. Есть ли что-то похожее на это на экземплярах EC2 с Ubuntu, которые можно отслеживать?
У меня нет для вас полного ответа, но я могу основываться на том, что сказал cyberx86. У меньших экземпляров меньше ЦП и пропускной способности сети. Помните, что если вы используете EBS, ваш дисковый ввод-вывод зависит от сетевого ввода-вывода. Amazon предоставляет инструменты для мониторинга использования вашей сети. Такие инструменты, как iotop, должны помочь вам получить представление о дисковом вводе-выводе, которое также может показать ваш% ожидания. Если я не ошибаюсь,% wait% для томов EBS должен быть ограничен сетью.