- - PR -
Windows2003 Server でのZipファイルの作成が遅い
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-11 13:20
スレッドを3つ用意し、それぞれのスレッドが
ローカルにある画像ファイル500個ほどを Zip圧縮するプログラムを作成しました。 圧縮後のZIPファイルは8Mほどになります。 プログラムの内容は、 ZipOutputStreamを用いた、 標準的な方法で行っています。 このプログラムを、 Windows2000で実行した場合は、 約40秒で処理が終了するのですが、 Windows2003 Serverで実行した場合、 約900秒ほどかかりました。 Javaの実行オプションは何も指定していません。 Windows2003のマシンの方がスペックが高いにもかかわらず、 明らかなまでに処理速度に差が出ています。 Windowsの問題なのか、 Javaの問題なのかが、 見極められていません。 JavaのZip圧縮処理がOSのライブラリを使用しているのでしょうか? 2003 Serverで実行した場合にJavaに何らかの制限があるのでしょうか? 対応方法をご存じであれば お教え願えませんでしょうか? よろしくお願いいたします。 環境は以下の通りです。 【Windows 2000】 OS:Windows 2000 Java:1.4.2_04 CPU:2.0GHz メモリ:512M 【Windows 2003】 OS:Windows 2003 Server Java:1.4.2_04 CPU:2.8GHz メモリ:1G | ||||
|
投稿日時: 2005-06-11 13:43
unibon です。こんにちわ。
2つのPC間で、ハイパースレッディング(HT)の設定が違うということはないでしょうか?タスクマネージャーで確認できます。また、処理中のCPU使用率はいくらになっているでしょうか? またファイルに書きこんだり読みこんだりする際のバッファサイズが小さすぎると、スレッドが頻繁に切り替わって、それでたまたま遅くなることがあるのかもしれません。 ほかの要因としては、ウィルス対策ソフト(やウィルスそのもの)も考えられます。 | ||||
|
投稿日時: 2005-06-11 15:56
処理中のCPU使用率は Windows2000がほぼ100%になっているのに対し、 Windows2003 Server のほうは、40〜50%の状態で動作しています。 優先度の設定によるのかとも考えていました。 ハイパースレッディングの設定は、 無効になっていたと思うのですが…、 もう一度確認してみます。 |
1