Оптимизация отправки по сети
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
Вы можете увеличить пропускную способность, установив переменную среды AZCOPY_CONCURRENCY_VALUE. Эта переменная указывает количество одновременных запросов, которые могут быть выполнены.
Если ваш компьютер имеет меньше 5 процессоров, то [значение] этой переменной устанавливается равным 32. В противном случае значение по умолчанию равно 16, умноженному на число ЦП. Максимальное значение этой переменной по умолчанию равно 300, но вы можете вручную установить это значение выше или ниже:
Операционная система | Get-Help |
---|---|
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, он активирует импорт для этого пакета автоматически.
Примечание.
Копирование файлов через протоколы NFS или Windows SMB не так быстро или надежно, как механизмы, такие как AzCopy. Рекомендуется проверить производительность обоих методов отправки файлов. Рекомендуется уведомить служба поддержки Майкрософт для проектов миграции VLDB, так как сетевые операции с высокой пропускной способностью могут быть неправильно заданы как атаки типа "отказ в обслуживании".