Время выполнения веб-заданий портала Azure
Я понимаю, что мой вопрос не совсем конкретный и на него нет четкого ответа, но мне нужна помощь, чтобы выяснить, с чего начать.
Таким образом, мы работаем над порталом Azure и имеем веб-работу, которая берет сообщения из очереди и обрабатывает их; по какой-то странной причине, когда я использую план S1 (спецификации: 1x ядер, всего 100 ACU - я думаю, что это какая-то единица для лазури: единица вычисления лазури - 1,75 ГБ памяти, вычисление серии A) каждому сообщению требуется около 1 минуты для обработки, но когда я обновляю план S3 (спецификации: 4x ядра, 400 ACU, 7 ГБ памяти, вычисления серии A), каждое сообщение занимает 3 минуты... Я бы понял, будет ли каждое сообщение занимать столько же времени, сколько оно обрабатывается линейно, и, возможно, увеличение процессора может не сильно повлиять на него, но как это может замедлить работу?
Я был бы признателен за любое предложение, чтобы помочь мне отладить эту проблему.
Больше информации
Веб-приложение представляет собой визуальный проект студии MVC.
1 ответ
Время, необходимое для обработки сообщений, значительно улучшится при увеличении уровня. Так что может быть что-то не так с логикой, которая обрабатывает сообщение. Пожалуйста, вернитесь к логике.
В случае веб-заданий вам необходимо увеличить уровень службы приложений, чтобы увеличить его. Поскольку служба приложений обновляется до более высокого уровня, память и ЦП распределяются между службой приложений и веб-заданием. Вы не можете масштабировать веб-работу без масштабирования службы приложений.
Я предлагаю заменить веб-задания облачными службами (рабочая роль). У меня были веб-задания для обработки сообщений из очереди, в случае масштабирования это оказалось неэффективным, и Azure больше не предлагает веб-задания. Так что я заменил его рабочей ролью. Вы также можете попробовать функции Azure для обработки сообщения.