Насколько одновременны запросы в реальности?
Все ли они будут вводить адрес в одно и то же время?
Тем не менее, профилируйте ваше приложение локально, это позволит вам оценить использование процессора, сети и памяти в Azure. Затем, вместо того, чтобы посмотреть, сколько экземпляров вам нужно, посмотрите, как вы можете уменьшить требование! Примените эти советы и снова выполните локальный профиль.
Большинство советов по производительности имеют компромисс между процессором, памятью или пропускной способностью, идея заключается в том, чтобы обеспечить одинаковое масштабирование. Если вашему приложению не хватает памяти, но у вас загружены процессор и сеть, не
Для одностраничного опроса убедитесь, что ваши html, css & js минимизированы, чтобы его можно было кэшировать.
Объедините их, если это возможно, и, чтобы получить действительно масштабируемый файл, поместите статические файлы (css, js & images) в CDN. Все это уменьшает количество запросов, с которыми приходится работать веб-серверу, и, следовательно, уменьшает количество необходимых вам веб-ролей = меньше сети.
Как Ashx возвращает ответ? то есть он отправляет HTML, XML или JSON?
лично я получу возвращение JSON, поскольку для этого потребуется меньшая пропускная способность сети и, скорее всего, меньше обработки на стороне сервера = меньше памяти и сети.
Используйте Asyncronous API для доступа к хранилищу Azure (при этом используются порты завершения ввода-вывода, чтобы освободить поток iis для обработки большего количества запросов до тех пор, пока хранилище Azure не вернется = включение процессора для масштабирования)
tijmenvdk уже упоминал об использовании очередей для записи. Меняется ли список вопросов? если нет, кэшируйте их, так что приложение должно считывать данные из хранилища таблиц только один раз при запуске и один раз для каждого клиента для окончательного завершения = экономит сеть и процессор за счет памяти.
Все эти советы в равной степени применимы к обычному веб-приложению, на одном сервере или в среде веб-фермы.
Я пытаюсь подчеркнуть, что то, что вы не можете измерить, вы не можете улучшить, а измерения, улучшения и затраты идут рука об руку. Динамическое масштабирование сократит затраты, но в основном, если ваше приложение не было измерено и использование ресурсов оптимизировано, спрашивать, сколько экземпляров вам нужно, бессмысленно.