Szybkość transferu przez sieć szybciej niż z samego serwera Ubuntu 14.04


0

Mam serwer domowy o niskiej mocy 800 MHz 2 procesory z systemem Ubuntu 14.04 LTS. Podłączyłem zewnętrzny dysk twardy USB 3.0 o pojemności 5 TB i uzyskuję średnią prędkość odczytu 30 MB + / s za pomocą hdparm -t --direct.

Mój problem polega na tym, że gdy kopiuję za pomocą Pythona shutil.move lub mv z samego serwera, otrzymuję tylko około 1 MB lub mniej na sekundę, bardzo rzadko rośnie. Ale na tym samym dysku współdzielonym przez SMB może wzrosnąć do 7 + MB / s, ale średnio około 4-5 MB / s.

Czego tu brakuje? Wygląda więc na to, że USB może przesyłać dane, ponieważ przechodzi przez to samo połączenie USB.

Cała prędkość wyrażona jest w megabajtach na sekundę.

Uwaga : Transfer, który wynosi 1 MB lub mniej na sekundę, pochodzi z dysku wewnętrznego (SSD) na dysk zewnętrzny podłączony do USB 3.0, ten sam dysk, na który jest zapisywany z sieci współdzielonej za pomocą SMB.


Jeśli przenosisz się z partycji na inny na tym samym dysku, kopiujesz plik i używasz 2 razy tego samego kanału. Jeśli używasz mv na tej samej partycji, prawdopodobnie zmieniasz nazwę pliku (tak naprawdę tylko przenosisz numer i-węzła z listy na inną) tak szybko. Czy możesz wyjaśnić przelewy, o których mówisz?
— Hastur

Transfer, który wynosi 1 MB lub mniej na sekundę, pochodzi z dysku wewnętrznego (SSD) na dysk zewnętrzny podłączony do tego samego dysku USB 3.0, który jest zapisywany z sieci współdzielonej za pomocą SMB.
— Faisal

Spróbuj skopiować lub przenieść za pomocą rsync. Zmierzy prędkość transferu. Użyj nawet opcji dla rzadkich plików. Zaktualizuj swoje pytanie o wyniki.
— Hastur

Właśnie próbowałem z rsync --progress -avz i jego średnia prędkość jest taka sama jak SMB, około 4-5 MB / s. Po prostu użyję rsync w moim skrypcie. Nadal próbowałem tego ze zwykłym mv cp i pytonami shutil.move, było średnio 3 razy wolniejsze, właśnie mierzyłem czasem. Zmierzyłem to również przy użyciu zmian rozmiaru na dysku sieciowym. Dzięki
— Faisal

Może się to zdarzyć, jeśli musisz przenieść lub skopiować (lub z) jednego katalogu dużą liczbę plików (tysiące): dzieje się tak, ponieważ w tym przypadku wywołanie systemowe poniżej poleceń ls, cp i mv jest wolniejsze i nieefektywne, ponieważ jeden poniżej rsync. Mogę przypuszczać, że powinien istnieć ten sam lub podobny powód dla skryptu phyton vs samba. Ile plików mówimy? Zdarza się to nawet w przypadku jednego dużego pliku (nie buforowanego)? a dla OGROMNEGO? Podaj także informacje o typach systemów plików; powinni też grać swoje role :).
— Hastur
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.