Optymalizowanie przesyłania sieci
Ramki Jumbo to ramki ethernet większe niż domyślne 1500 bajtów. Typowe rozmiary ramek Jumbo to 9000 bajtów. Zwiększenie rozmiaru ramki na źródłowym serwerze bazy danych, na wszystkich pośrednich urządzeniach sieciowych, w tym przełącznikach, oraz na serwerach Intel R3load zmniejsza zużycie procesora i zwiększa przepustowość sieci. Rozmiar ramki musi być identyczny na wszystkich urządzeniach, w przeciwnym razie dojdzie do konwersji wymagającej dużej ilości zasobów.
Dodatkowe funkcje sieciowe, takie jak skalowanie po stronie odbierającej (RSS), można włączyć lub skonfigurować do rozłożenia obciążenia sieciowego na wiele procesorów. Uruchamianie serwerów R3load na VMware sprawiło, że dostrajanie sieci dla ramek Jumbo i RSS stało się bardziej złożone i nie jest zalecane, chyba że jest dostępny bardzo wysoki poziom specjalistycznych umiejętności.
Funkcja R3load eksportuje dane z tabel DBMS i kompresuje te nieprzetworzone dane niezależne od formatu w plikach zrzutu. Te pliki zrzutu należy przekazać na platformę Azure i zaimportować do docelowej bazy danych programu SQL Server.
Wydajność kopiowania i przekazywania na platformę Azure tych plików zrzutu jest kluczowym składnikiem w ogólnym procesie migracji.
Istnieją dwa podstawowe podejścia do przekazywania plików zrzutu R3load:
Kopiowanie z lokalnych serwerów eksportowych R3load do usługi Azure Blob Storage za pomocą narzędzia AzCopy poprzez Internet publiczny.
Na każdym z serwerów R3load uruchom kopię narzędzia AzCopy z tym wierszem polecenia:
Azcopy copy "C:\ExportServer_1\Dumpfiles" "https://[storage_account].blob.core.windows.net/ExportServer_1/Dumpfiles?[SAS_Token]" --recursive
Przepływność można zwiększyć, ustawiając zmienną środowiskową AZCOPY_CONCURRENCY_VALUE. Ta zmienna określa liczbę równoczesnych żądań, które mogą wystąpić.
Jeśli komputer ma mniej niż 5 procesorów CPU, wartość [wartość] tej zmiennej jest ustawiona na 32. W przeciwnym razie wartość domyślna jest równa 16-krotności liczby CPU. Maksymalna wartość domyślna tej zmiennej to 300, ale można ręcznie ustawić tę wartość wyższą lub niższą:
| System operacyjny | Polecenie |
|---|---|
| Windows | set AZCOPY_CONCURRENCY_VALUE=[value] |
| Linux | export AZCOPY_CONCURRENCY_VALUE=[value] |
| macOS | export AZCOPY_CONCURRENCY_VALUE=[value] |
Użyj polecenia azcopy env, aby sprawdzić bieżącą wartość zmiennej środowiskowej AZCOPY_CONCURRENCY_VALUE. Jeśli wartość jest pusta, możesz odczytać, która wartość jest używana, patrząc na początek dowolnego pliku dziennika narzędzia AzCopy. Wybrana wartość i przyczyna jej wybrania są tam zgłaszane.
Przed ustawieniem wartości współbieżności uruchom test porównawczy. Proces testu porównawczego zgłasza zalecaną wartość współbieżności. Alternatywnie, jeśli warunki sieciowe i ładunki różnią się, ustaw tę zmienną na słowo AUTO zamiast na określoną liczbę. Wartość AUTO powoduje, że narzędzie AzCopy zawsze uruchamia ten sam proces automatycznego dostrajania, który jest używany w testach porównawczych.
Jeśli klient ma zaawansowany serwer i szybki internet, można zwiększyć wartość współbieżności. Jeśli wartość współbieżności jest zbyt wysoka, połączenie z serwerem eksportu R3load zostanie utracone z powodu nasycenia sieci. Monitoruj przepływność sieci w Menedżerze zadań systemu Windows. Można łatwo uzyskać przepustowość powyżej 1 gigabita na sekundę dla serwera eksportowego R3load. Przepływność kopiowania można skalować w górę, mając więcej serwerów R3load (cztery są przedstawione na poprzednim diagramie).
Podobny skrypt należy uruchomić na serwerach importu R3load na platformie Azure, aby skopiować pliki z obiektu blob do systemu plików, do którego może uzyskać dostęp R3load.
Kopiowanie z lokalnego serwera eksportu R3load do maszyny wirtualnej w Azure lub magazynu obiektów blob za pomocą dedykowanego połączenia ExpressRoute przy użyciu AzCopy, Robocopy lub podobnego narzędzia.
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
Na poniższym diagramie blokowym przedstawiono cztery serwery R3load Intel uruchomione z R3loadem. W tle narzędzie Robocopy zaczyna wysyłanie plików zrzutu. Po zakończeniu tworzenia całych podzielonych tabel i pakietów plik SGN jest kopiowany ręcznie lub za pomocą skryptu. Gdy plik SGN pakietu pojawi się na serwerze importu R3load, wyzwala import dla tego pakietu automatycznie.
Uwaga
Kopiowanie plików za pośrednictwem protokołów NFS lub Windows SMB nie jest tak szybkie ani niezawodne, jak mechanizmy, takie jak Narzędzie AzCopy. Zaleca się przetestowanie wydajności obu technik przekazywania plików. Zaleca się powiadomienie Pomocy Technicznej firmy Microsoft w przypadku projektów migracji VLDB, ponieważ operacje sieciowe o bardzo wysokiej przepływności mogą być błędnie zidentyfikowane jako ataki typu „odmowa usługi”.