Проблема производительности хранилища BLOB-объектов Azure

У меня есть приложение, которое загружает разные большие двоичные объекты из одного и того же контейнера, хранящегося в хранилище больших двоичных объектов Azure, с помощью следующего фрагмента кода.

        var cloudStorageAccount = CloudStorageAccount.Parse(buildGraphRequest.AzureBlobConnectionString);
        var bolbClient = new CloudBlobClient(cloudStorageAccount.BlobEndpoint, cloudStorageAccount.Credentials);
        var container = bolbClient.GetContainerReference(buildGraphRequest.BlobContainerName);
        var blob = container.GetBlobReference(filename);

Я не уверен, есть ли разница в производительности, если я выполняю приведенный выше код каждый раз, когда хочу получить BLOB-объект, или я могу инициализировать container один раз и каждый раз использовать один и тот же объект container.

Самое близкое, что я могу найти, - это этот пост. пул соединений в хранилище Azure


person checai    schedule 16.05.2018    source источник
comment
Вам не нужно повторно выполнять эти первоначальные вызовы настройки.   -  person David Makogon    schedule 16.05.2018
comment
@DavidMakogon Спасибо за ответ. Вы знаете, насколько значительна разница в производительности?   -  person checai    schedule 17.05.2018


Ответы (1)


Согласно информации в сообщении, которое вы упомянули, хранилище BLOB-объектов Azure по сути является HTTP-соединением, основанным на запросах / ответах, после отправки ответа оно будет прервано.

Но, как сказал @Gaurav Mantri,

Эти утверждения не являются сетевым вызовом. Они просто создают экземпляр этих объектов, чтобы при создании экземпляров этих объектов не возникало накладных расходов, связанных с задержкой сети.

Поэтому я думаю, это не будет связано с задержкой в ​​сети, связанной с производительностью, это просто приведет к потере нескольких циклов на создание объектов.

person Joy Wang    schedule 24.05.2018