Вопросы о производительности при загрузке Block Blob в Azure - PullRequest
0 голосов
/ 11 ноября 2019

Я разработал приложение C # DotNet, которое выполняет резервное копирование базы данных SQL Server в блочный BLOB-объект Azure.

Однако оно чрезвычайно медленное по сравнению с SQL BACKUP TO URL. При запуске счетчика производительности сетевой активности я вижу, что BACKUP TO URL отправляет около 30 МБ / с, а мое приложение - около 5 МБ / с, когда оно отправляет блок в BLOB-объект. Есть ли в Azure какая-либо настройка, управляющая скоростью передачи блока, отправленного с PutBlock? Я знаю, что резервное копирование SQL создает блоб страницы, в то время как я использую блоб блоб. Разве это имеет какое-то значение?

1 Ответ

1 голос
/ 12 ноября 2019

Для блочных объектов в SDK есть свойство ParallelOperationThreadCount (Получает или задает количество блоков, которые могут быть одновременно загружены.) Объекта BlobRequestOptions (подробности см. здесь ),Используя это свойство, можно быстрее загружать BLOB-объекты.

Пример использования этого свойства:

var requestOption = new BlobRequestOptions()
{
    ParallelOperationThreadCount = 5 //Gets or sets the number of blocks that may be simultaneously uploaded.
};
...