Re: TKFP.DLLで大量ファイルのアップロードを高速にしたい ( No.1 ) |
- 日時: 2008/07/22 13:45
- 名前: hiroron
- 参照: http://hiroron.com/
- テスト計測したアップロード先の環境を書くのを忘れてました。
アップロード先環境: Linux 2.6.18 + proftpd 1.3.0 + ローカルでギガビットでつながってます
|
Re: TKFP.DLLで大量ファイルのアップロードを高速にしたい ( No.2 ) |
- 日時: 2008/07/24 07:43
- 名前: Toki◆pRU.c9X.EOI
- マルチスレッドで複数の処理を同時実行するのはFTPライブラリの本質ではないですね
時間があれば、準備したいと思いますが、処理部分が異なるだけで、
他にいい情報があるかもしれませんよ。
手順としては
1.処理一覧をキューへ保存 2.ワーカースレッドを必要数立ち上げる 3.各スレッドでFtpClientを接続 4.スレッド毎にキューから処理を順次実行 5.キューが空になったらスレッド停止
こんなとことでしょうか
実際に行うとなると、スレッド間での排他制御や、メッセージの処理なども必要になります。
MagicMirrorではTKFP.DLLを使用して同様の処理を行っていますので、
TKFP.DLLで十分実現可能だと思います。
あと、問題の発端としてアップロード時間が長くなったようですが、
ローカル接続のようですし、FtpClientのバッファサイズの調整で、改善しませんか?
|
Re: TKFP.DLLで大量ファイルのアップロードを高速にしたい ( No.3 ) |
- 日時: 2008/07/26 11:16
- 名前: hiroron
- 参照: http://hiroron.com/
- 早速のお返事ありがとうございます。
まずはすぐに試せるバッファサイズ(SendBufferSize)の調整でテストしてみました。
デフォルト(2048) --> 15分 10240 --> 14分 51200 --> 15分 ためしにReceiveBufferSizeもSendBufferSizeも10240でテストしてみましたが14分でした。
誤差(?)といえるぐらいの時間的な変化しかありませんでした。
マルチスレッドについては処理手順を参考に、これから調べながらがんばってみたいと思います。
|