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.

Faisal
źródło
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