CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

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手動操作が一番いいな。こんどそういう機会があったらそうしよう。そして、⑤については、ヒマなときに構想をめぐらしてみて、モノになりそうならプログラムを組んでみよう。

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃん(3)

vhdを手軽に圧縮できるPowerShellプログラムの決定版。 まずは、前回考えたことを振り返る。。 ps1内のvhdのファイルパスを自分で書き変えなきゃいけないのが難点だから、ps1と同じ場所にあ …

秀丸マクロがおもしろくて練習のため2つのマクロを作ってみた

秀丸マクロは、以下のようにキーボード操作の結果を記録して再生することはやっていた。 Shift+F1:キー操作の記録開始/終了 Shift+F2:キー操作の再生 テキストファイル1行分のテキスト編集操 …

no image

アプリでzip圧縮と解凍をやりたくてzlibを組み込んでみたんだけど。。

でかいファイルは、圧縮してコンパクトに扱いたくなる。 テキスト形式で定義されているファイルをアプリで読み書きする。 テキストは圧縮すれば1/5くらいになるので、その結果小さくなった ファイルをアプリの …

zipcopyの画面設計と動作仕様をまとめた

以下の課題について、まずは画面設計と画面設計をまとめた。 コピー元でzip圧縮後にネットワーク越しにファイルコピーしてコピー先で解凍するのを自動化できないか アプリ名はzipcopyとした。ググったと …

PDFアレコレでPDF暗号化(セキュリティ設定)の第一歩を踏み出した

PDFアレコレをバージョンアップ。約2か月ぶり。 Ver3.01 2020/7/26 ・セキュリティ設定を変更できるようにした。読取パスワード、編集パスワード、編集許可の各種項目が設定可能。  暗号化 …