サイトアイコン CAD日記

zipcopyが設計上まちがっていることを書いたがホントにそうかを調べてみた

以下にzipcopy Ver1.07開発中に気付いたことを転記する。
いろいろ直していて気付いたんだけど、そもそものところでこのソフトの設計思想があやまっていた。
ネットワーク上のサーバーにあるファイルを圧縮することをクライアントから操作していたら、サーバーのファイルを一度クライアント側に全部持ってこなくてはならないし、圧縮結果をサーバーに送り込まなければならない。この時点で大きなロスが発生していて、その後サーバーにあるzipファイルをクライアントにコピーしてくるなんて、とっても意味不明だ。

ホントにそうかを調べるには、モデルケースで実際に時間を計測してみるに限る。VSSの大量の小サイズファイルを対象とした。ファイル数26,709(フォルダ数42)、ディスク上のサイズ252MBのファイル群を対象にして、サーバーからクライアントにコピーしてくる時間を計測。zipに圧縮すると58MBになったから圧縮率23%。
①エクスプローラでコピー:540秒(100%)
②zipcopy:337秒(62%)
③FastCopy:300秒(55%)
④7zipで手動でローカルにzip圧縮:280秒(52%)
⑤サーバーでzip圧縮+クライアントからサーバーのzipコピー:⇒80秒(15%)

zipcopyなかなかいい数字を出したじゃないか!エクスプローラでコピーよりも約40%減の時間で済んでいる。FastCopyもそこそこいいけど、7zipの手動操作がいい結果を出している。サーバーで処理させる⑤が格段にいい数字を出しているのは予想通り。サーバー内でのzip圧縮して圧縮されたファイルをネットワークコピーするんだから一番効率いい。だた、クライアントの指示でサーバーに処理をさせるとなると、サーバー側に仕掛けが必要になって、一気にハードルが上がる。セキュリティだって考慮しなきゃならん。結論で言うと、④の7zip手動操作が一番いいな。こんどそういう機会があったらそうしよう。そして、⑤については、ヒマなときに構想をめぐらしてみて、モノになりそうならプログラムを組んでみよう。

モバイルバージョンを終了