Вычислительная мощность Azure: очень большая виртуальная машина медленно - PullRequest
8 голосов
/ 10 февраля 2012

Может ли кто-нибудь подсказать мне, почему мое облачное развертывание будет медленнее, чем локальный компьютер с точки зрения «лошадиных сил»?

У меня есть приложение с интенсивными вычислениями, которое использует рабочую роль для выполнения миллионов вычислений (параллельно).

В настоящее время в Azure я тестирую с помощью виртуальной машины Extra Large (8 ядер, 16 ГБ), чтобы выполнить обработку. В среднем на каждую итерацию уходит 45 минут, тогда как тот же код, работающий на 4-ядерном локальном компьютере объемом 8 ГБ, занимал всего 15 минут.

Журналы Azure показывают, что общее использование процессора составляет 99%, но у меня свободно 12 ГБ памяти, поэтому я обязательно попытаюсь загрузить больше данных в память для каждой итерации.

Являются ли 8 ядер по отдельности очень низкими характеристиками? Является ли локальное хранилище действительно локальным? То есть локальное хранилище действительно находится на другом физическом устройстве, и поэтому загрузка данных из файла и запись результатов на диск идет медленно?

Ответы [ 4 ]

4 голосов
/ 08 февраля 2013

Скотт Гатри (главный в команде Windows Azure) для меня
Привет, Иван,

У нас есть и другие конфигурации VM HW - в том числе с несколькими процессорами и большим объемом памяти.В будущем вы увидите еще больше вариантов.

Надеюсь, это поможет,

Скотт


Мой тест: (100% процессорного времени)

Математические расчеты Лукаса-Лемера.Многопоточная версия использует Parallel.For реализации

Домашний компьютер Core i7 3770K (4 ядра x 3,5 ГГц) (Win 8)

SINGLETHREADED (17 первичных чисел): 11676 мс(11,6 с.)

MULTITHREADED (17 первичных чисел): 2816 мс (2,8 с.)

Большая виртуальная машина Azure (4 ядра x 1,6 ГГц) (Win S 2008)

SINGLETHREADED (17 первичных чисел): 37275 мс

MULTITHREADED 17 первичных чисел): 10118 мс

Azure Extra Large VM (8 ядер x 1,6 ГГц)) (Win S 2008)

SINGLETHREADED (17 первичных чисел): 36232 мс

MULTITHREADED (17 первичных чисел): 6498 м

Рабочий компьютер- AMD FX 6100 (6 ядер x 3,3 ГГц) (Win 7 с обновлением)

SINGLETHREADED (17 первичных чисел): 48758 мс

MULTITHREADED (17 первичных чисел): 16486 мс

Проголосуйте за эту идею на первой странице http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/3622286-upgrade-windows-azure-processor-from-1-6-ghz-to-mi

3 голосов
/ 02 апреля 2012

У меня такая же проблема.Мое веб-приложение с базой данных (в sql azure) также очень медленное по сравнению с моим локальным компьютером.

Информация о локальном сервере: - сервер начального уровня dell <1000 долларов США, с 4 ядрами и 8 ГБ памяти.- Сервер работает как виртуальные машины - даже сервер БД находится на одном и том же сервере (совместно использует одно и то же оборудование с веб-сервером) </p>

Azure: - Веб-ролик на очень большом сервере с 8 ядрами.- SQL Azure (по-моему, на другом физическом сервере)

Я ожидал, что это улучшит производительность при развертывании в Azure!:( Угадайте, что это в 4 раза медленнее (проверено с помощью кода профилировщика, который умножает каждый запрос)

Я разочарован, я думаю, что это действительно медленно 8 ядер.

Я запустил тестна моем старом компьютере (Intel Pentium). Установлены те же локальные виртуальные машины на нем (хост VMWare). Это даже быстрее, чем Azure.

1 голос
/ 10 февраля 2012

Пара вопросов здесь, я постараюсь ответить на некоторые ...

Локальное хранилище является локальным - значит, на том же диске, в ограниченной области.Используете ли вы API локального хранилища для доступа к нему?Локальное хранилище также является одноразовым - если ваше приложение будет развернуто, все данные в локальном хранилище будут потеряны.Если вы используете диск Azure, то да, я ожидал бы некоторых задержек, поскольку при этом выполняется запись в хранилище больших двоичных объектов, но вы не упомянули об этом.

Спецификация ЦП определена на веб-сайте Azure.

Трудно решить вашу реальную проблему с медлительностью, хотя без лучшего представления об архитектуре и процессах, за которыми следует ваша фоновая работа.Но, как правило, я был бы удивлен, увидев результаты, которые вы указываете.(У вас на прем машине виртуальная машина или выделенное оборудование?)

0 голосов
/ 10 февраля 2012

Я нахожу то же самое при выполнении аналитического кода (т. Е. Мало использования диска, не требуется слишком много оперативной памяти). Я предполагаю, что проблема в том, что они выбирают процессоры на основе цены и количества ядер, а не мощности. Теория заключается в том, что вы должны распараллеливать свой код, чтобы использовать преимущества всех этих ядер, но иногда это сложно или дорого (во время кодирования). Рассмотрите возможность голосования за больше мощности процессора , но иногда это сложно или дорого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...