Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Хранилище BLOB-объектов теперь поддерживает протокол сетевой файловой системы (NFS) версии 3.0. В этой статье содержатся рекомендации, помогающие оптимизировать производительность запросов на хранение. Дополнительные сведения о поддержке NFS 3.0 для хранилища BLOB-объектов Azure см. в статье о поддержке протокола NFS 3.0 для хранилища BLOB-объектов Azure.
Добавление клиентов для повышения пропускной способности
Хранилище Blob Azure масштабируется линейно, пока не достигнет максимального объема пропускной способности для входящего и исходящего трафика учетной записи хранения. Таким образом, приложения могут достичь более высокой пропускной способности с помощью большего числа клиентов. Сведения о том, как просмотреть исходящие данные учетной записи хранения и ограничения входящего трафика, см. в разделе "Целевые показатели масштабируемости и производительности" для стандартных учетных записей хранения.
На следующей диаграмме показано, как увеличивается пропускная способность при добавлении дополнительных клиентов. На этой диаграмме клиент является виртуальной машиной и стандартной учетной записью хранения общего назначения версии 2.
На следующей диаграмме показан тот же эффект при применении к учетной записи хранения BLOB-объектов класса Premium.
Использование учетных записей хранения BLOB-объектов класса Premium для небольших масштабируемых приложений
Не все приложения могут масштабироваться путем добавления дополнительных клиентов. Для этих приложений учетная запись хранения блочных BLOB-объектов уровня "Премиум" Azure обеспечивает стабильно низкую задержку и высокую скорость транзакций. Премиум-аккаунт для хранения блоб-данных может достичь максимальной пропускной способности с использованием меньшего количества потоков и клиентов. Например, с одним клиентом учетная запись хранения BLOB-объектов класса Premium может достичь пропускной способности 2,3x по сравнению с той же настройкой, используемой со стандартной учетной записью хранения общего назначения общего назначения версии 2.
Каждый столбец на следующей диаграмме показывает разницу в пропускной способности между учетными записями хранения премиум и стандартного уровня. По мере увеличения числа клиентов это различие уменьшается.
Увеличьте размер предварительного чтения, чтобы повысить пропускную способность при чтении больших файлов.
Параметр ядра read_ahead_kb представляет объем дополнительных данных, которые следует считывать после выполнения заданного запроса на чтение. Этот параметр можно увеличить до 16 МиБ, чтобы повысить пропускную способность чтения больших файлов.
export AZMNT=/your/container/mountpoint
echo 16384 > /sys/class/bdi/0:$(stat -c "%d" $AZMNT)/read_ahead_kb
Избегайте частых перезаписей данных
Выполнение операции перезаписи занимает больше времени, чем новая операция записи. Это связано с тем, что операция перезаписи NFS, особенно частичное изменение файла на месте, представляет собой сочетание нескольких базовых операций больших двоичных объектов: операции чтения, изменения и операции записи. Поэтому приложение, требующее частых встраиваемых изменений, не подходит для учетных записей хранения BLOB с поддержкой NFS.
Развертывание Azure HPC Cache для чувствительных к задержке приложений.
Для некоторых приложений может потребоваться низкая задержка в дополнение к высокой пропускной способности. Вы можете развернуть Azure HPC Cache, чтобы значительно уменьшить задержку. Дополнительные сведения о задержке в хранилище объектов Blob.
Увеличение числа TCP-подключений
Вы можете использовать nconnect параметр подключения, чтобы получить более высокую производительность чтения и записи из одной виртуальной машины, но только в том случае, если ядро Linux поддерживает Azure nconnect.
nconnect — это параметр подключения Linux на стороне клиента, который позволяет использовать несколько TCP-подключений между клиентом и конечной точкой службы BLOB-объектов. Вы можете использовать nconnect параметр в команде подключения, чтобы указать количество tcp-подключений, которые требуется создать (например: mount -t aznfs -o nconnect=16,sec=sys,vers=3,nolock,proto=tcp <storage-account-name>.blob.core.windows.net:/<storage-account-name>/<container-name> /nfsdatain).
Это важно
Хотя последние дистрибутивы Linux полностью поддерживают nconnect, этот параметр следует использовать только в том случае, если ядро поддерживает Azure nconnect. Использование параметра подключения nconnect без поддержки nconnect Azure приведет к снижению пропускной способности, вызовет несколько тайм-аутов и приведет к неправильной работе таких команд, как READDIR и READIRPLUS.
Поддержка Azure nconnect доступна с большинством последних ядер Ubuntu, которые можно использовать с виртуальными машинами Azure. Чтобы узнать, доступна ли поддержка nconnect Azure для ядра, выполните следующую команду.
[ -e /sys/module/sunrpc/parameters/enable_azure_nconnect ] && echo "Yes" || echo "No"
Если поддержка Azure nconnect доступна для ядра, то Yes выводится в консоль.
'No В противном случае выводится в консоль.
Если поддержка nconnect Azure доступна, включите ее, выполнив следующую команду.
echo Y > /sys/module/sunrpc/parameters/enable_azure_nconnect
Другие рекомендации по передовым практикам
Используйте виртуальные машины с достаточной пропускной способностью сети.
Используйте несколько точек подключения, когда рабочие нагрузки позволяют ей.
Используйте как можно больше потоков.
Используйте большие размеры блоков.
Сделайте запросы на хранение от клиента, расположенного в том же регионе, что и учетная запись хранения. Это может повысить задержку сети.
Дальнейшие действия
Дополнительные сведения о поддержке NFS 3.0 для хранилища BLOB-объектов Azure см. в статье о поддержке протокола NFS 3.0 для хранилища BLOB-объектов Azure.
Чтобы начать, см. раздел "Подключение хранилища BLOB-объектов с помощью протокола NFS 3.0".