- 166 名前:login:Penguin mailto:sage [2010/09/19(日) 02:00:45 ID:adQOgIfU]
- >>165
一応Upload時のパケットをキャプチャしてみたりしてました。 Write AndX Request (0x2f)で送っていると思しきデータの長さがそれぞれ、 (1)Up: nautilus(cifs): 4KB,4KB,4KB,4KB,... -> 39秒 (2)Up: nautilus(gvfs): 65534B, 2B, 65534B, 2B, ... -> 30秒 (3)Up: cp(cifs): 32KB, 32KB, 32KB, 32KB, ... -> 30秒 (4)Up: cp(gvfs): 4KB, 4KB, 4KB, 4KB, ... -> 87秒 となります。 (4)はfuseが絡む分考えにくいので除外すると、この長さの違いに起因する 可能性が高いように思います。nautilusを使ってファイルコピーする場合、 GLibのg_file_copyを使用されます。この場合転送元と先の対象FSを意識した 転送になる気がするのでその際にcifsだとローカルコピーと判定され、4KBバッファで writeされちゃってるんじゃないかと想像しています(未確認。ほんとか?)。 ちなみにcpのwriteサイズは32KBでした(strace)。 よく分からないんでこの辺で終わりにしましょうかね。
|

|