私はUbuntu 14.04 LTSを実行しているホームサーバーの低電力800MHz 2 CPUを持っています。私は5TBの外付けハードドライブUSB 3.0を接続しました、そして私はhdparm -t --directを使用して平均30MB + / sの読み込み速度を得ます。
私自身の問題は、私がサーバーからpythonのshutil.moveやmvを使ってコピーしているときに、1秒間に1MB以下にしかならないことです。しかし、SMB上で共有されているこの同じドライブでは、最大7 + MB /秒に達することがありますが、およそ4-5MB /秒になります。
私はここで何が足りないのですか?それはそれが同じUSB接続を経由するので、USBはデータを転送することができるようです。
すべての速度は1秒あたりのメガバイト数です。
注意 :1秒あたり1MB以下の転送は、SMBを使用して共有されているネットワークから書き込まれているUSB 3.0と同じドライブに接続されている内部ドライブ(SSD)から外部ドライブへのものです。
パーティションから同じディスクの別のパーティションに移動した場合は、ファイルをコピーして同じチャネルを2回使用します。同じパーティションにmvしているのなら、おそらく 改名 ファイル(リストから別のノードにiノード番号を移動するだけです)はとても高速です。あなたが話している転送を明確にすることができますか?
—
Hastur
1秒あたり1MB以下の転送は、SMBを使用して共有されているネットワークから書き込まれているUSB 3.0と同じドライブに接続されている内部ドライブ(SSD)から外部ドライブへのものです。
—
Faisal
コピーまたはrsyncで移動してみてください。転送速度を測定します。スパースファイルにもオプションを使用してください。結果であなたの質問を更新してください。
—
Hastur
rsync --progress -avzを試したところ、平均速度はSMBと同じで、およそ4-5MB / sです。私は自分のスクリプトでrsyncを使用します。私はまだ通常のmv cp& Aで試してみました。 pythons shutil.moveそれは私がちょうど時間で測定した平均で3倍遅くなった。ネットワークドライブのサイズ変更も使用して測定しました。ありがとう
—
Faisal
これは、1つのディレクトリから多数のファイル(数千)を移動またはコピーする必要がある場合に発生する可能性があります。この場合、ls、cp、およびmvコマンドの下のシステムコールは遅く、効率的ではありません。 rsyncの下のもの。 phytonスクリプトとsambaの間には、同じまたは類似の理由があるはずです。何ファイルについて話していますか?単一の大きなファイル(キャッシュされていない)でも発生しますか?そして巨大な人のために?ファイルシステムの種類についても情報を与えます。彼らも彼らの役割を演じるべきです:)。
—
Hastur