#http #azure #azure-storage #azure-blob-storage
#http #azure #azure-хранилище #azure-blob-storage
Вопрос:
У меня есть клиенты, обращающиеся к хранилищу Azure по соединению с высокой задержкой, и, похоже, что основной причиной медлительности является задержка между каждым вызовом.
Следующее происходит несколько сотен раз для каждого пользователя
Получить список плоских каталогов Получить страницы больших двоичных объектов, которые перечислены, Запросить данные на страницах, на которых приложение использует «разреженный» характер PageBlob и небольшие единицы выделения в 512 байт, но это имеет побочный эффект создания слишком большого количества транзакций.
Могу ли я объединить несколько запросов «Получить диапазон страниц» или «Получить большой двоичный объект страницы» для объектов с разными именами, например, в одном HTTP-запросе:
GET /containerName/Hourly/2012/01/01/02
GET /containerName/Hourly/2012/01/01/03
GET /containerName/Hourly/2012/01/01/04
GET /containerName/Hourly/2012/01/01/05
или тот же вопрос касается аналогичных операций с PUT
Ответ №1:
Вы могли бы разместить свой собственный сервис между вами и хранилищем Azure, тогда вы могли бы объединить несколько вещей в одной операции. Однако это может быть не очень хорошей идеей.
Возможно, было бы лучше оставить вызовы как отдельные операции, но выполнять их асинхронно и параллельно.
Посмотрите на эту ссылку для примера: http://blogs.msdn.com/b/kwill/archive/2011/05/30/asynchronous-parallel-block-blob-transfers-with-progress-change-notification.aspx