Статьи

Кто украл мой процессор?

Одной из наиболее важных функций облака является совместное использование ресурсов несколькими арендаторами. Без совместного использования ресурсов и возможности оптимизировать использование ресурсов облачный оператор не сможет обеспечить масштабируемость и поддержать «эффект масштаба» для своего бизнеса. Публика IaaS содержит «облачную магию», а также реальное аппаратное обеспечение, такое как вычислительные устройства, устройства хранения и сетевые устройства. Использование этих ресурсов должно быть оптимизировано путем удовлетворения спроса (по времени), поэтому они должны быть распределены между потребителями облачных технологий.

Что такое украсть время?

Основной показатель того, как сервер использует свой ЦП, — это емкость бездействия — количество свободных ЦП. Загрузка ЦП складывается из следующих распределений:

  • Пользователь — запущенное приложение
  • Система — операционные системы
  • Прерывание — аппаратные прерывания
  • Wait — ожидание завершения заданий ввода / вывода
  • Кража — циклы, не связанные с виртуальной машиной
  • В простое — работа не ведется

Время кражи (ST), также называемое «Украденный ЦП», существует в виртуализированных вычислительных средах — это время, которое ЦП использует для выполнения внутренних задач виртуальной машины, когда гипервизор выделяет циклы ЦП другим «внешним задачам», которые, вероятно, вызванный одним из ваших шумных соседей.

ST на облаке Amazon

Я исследовал эту тему на форумах AWS и обнаружил, что когда загрузка ЦП в течение некоторого времени резко возрастает (настраивается оператором облака); система автоматически снижает процессор до нескольких процентов использования, одновременно «крадя» остальную часть вашего процессора. Это имеет смысл, поскольку облако должно защищать себя от перегрузки и угрозы сбоя.
Дополнительную информацию о типе экземпляров Micro можно найти в разделе часто задаваемых вопросов о Amazon AWS: «Микроэкземпляры предоставляют небольшое количество согласованных ресурсов ЦП и позволяют увеличивать емкость ЦП до 2 ЭБУ, когда доступны дополнительные циклы. Они хорошо подходят для приложений с низкой пропускной способностью и веб-сайтов, которые периодически потребляют значительные вычислительные циклы, но в другое время очень мало ЦП для фоновых процессов, демонов » Подробнее
На форумах разработчиков Amazon вы можете найти следующее:
«Например, когда приходит случай, когда мне может понадобиться сделать« ням-обновление », система перестает отвечать на запросы в течение одной минуты. Я ожидал бы, что это будет сделано через три или пять минут, как это всегда происходило, но сегодня это регулирование происходит от тридцати секунд до одной минуты ». Проверьте тему


Amazon не детализирует фактическую конфигурацию Xen, хотя и говорит, что: «Экземпляр спроектирован для работы с использованием своего ЦП по существу только на двух уровнях: обычном низком уровне фона и затем на коротких всплесках, намного превышающих уровень фона. « Читать дальше Согласно тому, что я узнал , мониторинг процессора с помощью стандартного инструмента мониторинга может ввести пользователя в заблуждение в облаке. Например, экземпляры Linux не будут сообщать правильные значения для использования ЦП из-за уровня виртуализации в базовой инфраструктуре. Для получения точных значений использования ЦП в экземплярах EC2 пользователь облака должен полагаться только на метрики CloudWatch.
Другим важным аспектом использования ЦП является модель рабочей нагрузки. Я узнал, что вы должны различать две модели рабочей нагрузки — пакетная рабочая нагрузка и рабочая нагрузка в реальном времени. Первый обеспечивает большую терпимость к нехватке и может ждать доступной емкости. Пакетная модель описывает задачу, которая генерирует постоянную загрузку или суммарную загрузку ЦП, поэтому при интенсивной загрузке она будет компенсирована позже. Баланс рабочей нагрузки в реальном времени никогда не будет компенсирован, а облачные операторы будут сдерживать перегрузки. Более того, облачные операторы, такие как Amazon AWS, обычно используют более пакетную модель рабочей нагрузки для управления нагрузками на своем физическом уровне.
Чтобы использовать микроэкземпляры AWS, вы должны иметь возможность контролировать поведение своих онлайн-ресурсов. Вы также можете попробовать воспроизвести настройки конфигурации вашего веб-сервера, например, ограничив количество клиентов. Вы должны использовать S3 для размещения статических файлов, таких как изображения, видео и аудио. Использование других сервисов AWS для поддержки ваших потребностей в производительности приложений может переместить часть нагрузки на другие облачные ресурсы, тем самым снизив общее потребление ресурсов ЦП экземплярами EC2. В любом случае, важно использовать эластичную среду и использовать методы горизонтального (или вертикального) масштабирования для защиты окружающей среды.

Присоединяйтесь к обсуждению

Интересно, следуя различным конфигурациям Xen для разных типов экземпляров, таким как правила для микропроцессоров, — вам нужны разные автоматические масштабирования пороговых значений для разных типов экземпляров?