Оптимизация отправки по сети

Завершено

Jumbo-кадры — это кадры Ethernet, превышающие размер по умолчанию 1500 байт. Стандартные размеры Jumbo-кадров — 9000 байт. Увеличение размера кадра на исходном сервере базы данных, всех промежуточных сетевых устройств, таких как коммутаторы, и серверы Intel R3load снижают потребление ЦП и повышают пропускную способность сети. Размер кадра должен быть одинаковым на всех устройствах, в противном случае происходит интенсивное преобразование ресурсов.

Дополнительные сетевые функции, такие как масштабирование на стороне получения (RSS), можно включить или настроить для распределения сетевой обработки между несколькими процессорами, на которых запущены серверы R3load на VMware, чтобы настроить сеть для кадров Jumbo и RSS более сложными и не рекомендуется, если не существует очень экспертного уровня навыков.

R3load экспортирует данные из таблиц СУБД и сжимает эти необработанные данные, не зависящие от формата, в файлы дампа. Эти файлы дампа необходимо отправить в Azure и импортировать в целевую базу данных SQL Server.

Производительность копирования и отправки в Azure этих файлов дампа является критически важным компонентом в общем процессе миграции.

Существует два основных подхода к отправке файлов дампа R3load:

Копирование с локальных серверов экспорта R3load в Хранилище BLOB-объектов Azure через общедоступный Интернет с помощью AzCopy

На каждом из серверов R3load запустите копию AzCopy с помощью этой командной строки:

Azcopy copy "C:\ExportServer_1\Dumpfiles" "https://[storage_account].blob.core.windows.net/ExportServer_1/Dumpfiles?[SAS_Token]" --recursive

Diagram illustrating copying from on-premises R 3 load export servers to Azure blob storage via Public Internet with A z Copy.

Вы можете увеличить пропускную способность, установив переменную среды AZCOPY_CONCURRENCY_VALUE. Эта переменная указывает количество одновременных запросов, которые могут быть выполнены.

Если ваш компьютер имеет меньше 5 процессоров, то [значение] этой переменной устанавливается равным 32. В противном случае значение по умолчанию равно 16, умноженному на число ЦП. Максимальное значение этой переменной по умолчанию равно 300, но вы можете вручную установить это значение выше или ниже:

Операционная система

Command

Windows

set AZCOPY_CONCURRENCY_VALUE=[value]

Linux

export AZCOPY_CONCURRENCY_VALUE=[value]

macOS

export AZCOPY_CONCURRENCY_VALUE=[value]

Используйте azcopy env, чтобы проверка текущее значение переменной среды AZCOPY_CONCURRENCY_VALUE. Если значение не указано, можно посмотреть используемое значение в начале любого файла журнала AzCopy. Там указывается выбранное значение и причина, по которой оно было выбрано.

Прежде чем задать значение параллелизма, запустите тест тестового теста. Тестовый процесс теста теста сообщает рекомендуемое значение параллелизма. Кроме того, если условия сети и полезные данные различаются, присвойте этой переменной значение AUTO, а не конкретное число. Значение AUTO приводит к тому, что AzCopy всегда выполняет один и тот же процесс автоматической настройки, который он использует в тестах теста теста.

Если у клиента есть мощный сервер и быстрый интернет, можно увеличить значение параллелизма. Если слишком большое значение параллелизма увеличивается, подключение к серверу экспорта R3load теряется из-за насыщенности сети. Отслеживайте пропускную способность сети в диспетчере задач Windows. Можно легко достичь пропускной способности копирования более 1 гигабита в секунду на сервер экспорта R3load. Пропускную способность копирования можно увеличить, указав больше серверов R3load (четыре показаны на предыдущей схеме).

Аналогичный скрипт необходимо запустить на серверах импорта R3load в Azure, чтобы скопировать файлы из BLOB-объекта в файловую систему, к которым может получить доступ R3load.

Копирование с локальных серверов экспорта R3load на виртуальные машины Azure или в Хранилище BLOB-объектов через выделенное подключение ExpressRoute с помощью средства AzCopy, Robocopy или аналогичного

Robocopy C:\Export1\Dump1 \\az_imp1\Dump1 /MIR /XF *.SGN /R:20 /V /S /Z /J /MT:8 /MON:1 /TEE /UNILOG+:C:\Export1\Robo1.Log

На следующей схеме блоков показаны четыре сервера Intel R3load под управлением R3load. В фоновом режиме средство Robocopy начинает отправку файлов дампа. Когда все разбиения таблиц и пакетов завершены, файл SGN копируют либо вручную, либо с помощью скрипта. Когда SGN-файл для пакета поступает на сервер импорта R3load, он активирует импорт для этого пакета автоматически.

Block diagram illustrating 4 Intel R 3 load servers running R 3 load.

Примечание.

Копирование файлов по протоколам NFS или Windows SMB не такое быстрое и надежное, как механизмы, такие как AzCopy. Рекомендуется проверить производительность обоих методов загрузки файлов. Рекомендуется уведомлять службу поддержки Майкрософт о проектах миграции сверхбольших баз данных, поскольку очень высокая пропускная способность сети может быть ошибочно идентифицирована как атаки типа "отказ в обслуживании".