Azure — сверхмалая веб-роль экземпляра — готова к работе?

Я планирую веб-сайт, работающий в Azure. Я оцениваю макс. 2000 пользователей в день создают около 20 000 просмотров.

Я знаю, что здесь я немного расплывчат, но готов ли сверхмалый экземпляр для такого сайта? Я использую MVC 3 для создания сайта. Спасибо за любые ответы.


person kay.herzam    schedule 16.06.2011    source источник


Ответы (3)


Вам нужно будет провести нагрузочное тестирование, чтобы лучше решить этот вопрос. Помните, что для того, чтобы воспользоваться преимуществами соглашения об уровне обслуживания Windows Azure Compute, вам потребуется как минимум 2 экземпляра (так что теперь у вас есть экземпляры в разных доменах сбоя, поэтому ваш сайт продолжает работать, даже если один из экземпляров перезапускается из-за обновления ОС, аппаратный сбой и др.). Тогда возникает вопрос: смогут ли два инстанса Extra Small обрабатывать 20 000 обращений в день? Это соответствует ок. 10 000 обращений на экземпляр ВМ в день, или 416 обращений в час, или 7 обращений в минуту. И... даже с одним экземпляром частота попаданий 14 в минуту довольно низкая.

Больше, чем ЦП, вы можете оказаться узким местом из-за пропускной способности, поскольку вы увидите только около 5 Мбит/с на инстанс по сравнению с примерно 100 Мбит/с на малый инстанс.

Возможно, вы захотите запустить быстрый тест с чем-то вроде LoadStorm, который предоставляет нагрузочное тестирование как услугу. Это должно дать вам хорошее представление о том, насколько хорошо XS будет работать под нагрузкой.

EDIT (март 2012 г.): экземпляры Extra Small теперь стоят 0,02 доллара США в час вместо 0,04 доллара США, поэтому вы можете запустить до 6 экземпляров XS по той же цене, что и один экземпляр Small. Это делает вариант XS еще более привлекательным. См. эту запись в блоге для официального объявления о снижении цен (включая сокращение объема хранилища).

person David Makogon    schedule 16.06.2011
comment
Спасибо за Ваш ответ. Я знаю об SLA и планирую иметь 2 экземпляра XS. Мне просто интересно, потому что характеристики оборудования, особенно ОЗУ, не позволяют вам установить Win Srv 2008. Я посмотрю на LoadStorm. - person kay.herzam; 16.06.2011
comment
К сведению: все виртуальные машины Windows Azure — это Windows Server 2008. Однако меньший объем ОЗУ и пропускная способность сети могут быть фактором, влияющим на производительность. - person David Makogon; 16.06.2011
comment
После развертывания вы также можете установить ОС на Win Srv 2008 R2. Вызывает перераспределение, вероятно. Но я буду придерживаться значения по умолчанию. - person kay.herzam; 16.06.2011
comment
@kay.herzam - после развертывания этого делать не нужно. Это изменение можно внести локально перед развертыванием. В ServiceConfiguration.cscfg в элементе ServiceConfiguration просто установите osFamily=2. - person David Makogon; 16.06.2011

Я согласен с Дэвидом в том, что это очень зависит от нагрузки на каждый запрос, который вы генерируете (как в ресурсах ЦП, так и в пропускной способности).

Я просто хотел поделиться собственным опытом использования экземпляров XS. Мы обнаружили, что эти экземпляры страдают от серьезного дрейфа часов: my-windows-azure-vm-synchronized/" rel="nofollow">http://blog.codingoutloud.com/2011/08/25/azure-faq-how-frequently-is-the-clock-on-my -windows-azure-vm-synchronized/

Разница между синхронизациями NTP за неделю может достигать минуты. Для большинства приложений это не обязательно проблема, но мы использовали аутентификацию Oauth1.0a с разрешенной разницей временных меток в 30 секунд, что приводило к серьезным проблемам при использовании XS. S и более крупные модели не имеют общих ядер и, следовательно, имеют гораздо меньший дрейф тактовой частоты.

person Sander Kouwenhoven    schedule 01.11.2013

Вы получаете лучшее соглашение об уровне обслуживания с двумя небольшими экземплярами, а не с одним большим.

Вы также должны смотреть на свою пиковую нагрузку. Например, при 20 000 посещений в день 50% приходятся на период с 9 до 10 утра?

Хранилище экземпляра составляет 20 ГБ, если это только код вашего приложения, проблем быть не должно.

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

ЦП одиночный 1 ГГц, если это просто веб-страницы и небольшие вычисления, не должно быть проблем. Время, когда это будет очень медленно, - это JIT-компиляция.

Памяти 768 МБ, это может быть проблемой, особенно если вы кешируете данные.

Вы экономите менее 2 долларов США в день, используя небольшой экземпляр. Но это латте каждые 2 дня, так что, возможно, стоит рискнуть и сделать дополнительное развертывание.

person Shiraz Bhaiji    schedule 16.06.2011
comment
Если вам нужно изменить размер виртуальной машины, вам необходимо выполнить повторное развертывание. Если возможно, лучше выбрать подходящий размер виртуальной машины до развертывания. Также: kay.herzam специально спросил о развертывании экземпляров Extra Small (наименьшего размера). - person David Makogon; 16.06.2011
comment
@David, спасибо за комментарий, я удалил информацию о добавлении экземпляров по мере необходимости. - person Shiraz Bhaiji; 16.06.2011
comment
На самом деле я бы оставил комментарий о добавлении экземпляров по мере необходимости, так как это отличная вещь в эластичных вычислениях. Я просто говорил, что базовый размер экземпляра должен быть определен заранее. Если XS может без проблем справляться с непиковыми нагрузками, то вы можете легко масштабировать его до большего количества экземпляров для обработки пиковых нагрузок. Но произвольный выбор размера экземпляра оставляет вас непредсказуемым. - person David Makogon; 16.06.2011
comment
@David, я внимательно изучил размер небольшого экземпляра, для приложений MVC, которые мы создали, размер памяти был бы проблемой. - person Shiraz Bhaiji; 16.06.2011
comment
Мой комментарий об изменении размера виртуальной машины, требующем повторного развертывания, более недействителен с октября 2011 года. Теперь вы можете изменять размер виртуальной машины, добавлять/удалять роли и выполнять другие действия без повторного развертывания. См. эту публикацию MSDN. для получения дополнительной информации. - person David Makogon; 18.03.2012