- PR -

Windows2003 Server でのZipファイルの作成が遅い

1
投稿者投稿内容
ふくろう
会議室デビュー日: 2004/04/24
投稿数: 2
投稿日時: 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
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2005-06-11 13:43
unibon です。こんにちわ。

引用:

ふくろうさんの書き込み (2005-06-11 13:20) より:
スレッドを3つ用意し、それぞれのスレッドが
ローカルにある画像ファイル500個ほどを
Zip圧縮するプログラムを作成しました。


2つのPC間で、ハイパースレッディング(HT)の設定が違うということはないでしょうか?タスクマネージャーで確認できます。また、処理中のCPU使用率はいくらになっているでしょうか?
またファイルに書きこんだり読みこんだりする際のバッファサイズが小さすぎると、スレッドが頻繁に切り替わって、それでたまたま遅くなることがあるのかもしれません。
ほかの要因としては、ウィルス対策ソフト(やウィルスそのもの)も考えられます。
ふくろう
会議室デビュー日: 2004/04/24
投稿数: 2
投稿日時: 2005-06-11 15:56
引用:

2つのPC間で、ハイパースレッディング(HT)の設定が違うということはないでしょうか?タスクマネージャーで確認できます。また、処理中のCPU使用率はいくらになっているでしょうか?
またファイルに書きこんだり読みこんだりする際のバッファサイズが小さすぎると、スレッドが頻繁に切り替わって、それでたまたま遅くなることがあるのかもしれません。
ほかの要因としては、ウィルス対策ソフト(やウィルスそのもの)も考えられます。



処理中のCPU使用率は
Windows2000がほぼ100%になっているのに対し、
Windows2003 Server のほうは、40〜50%の状態で動作しています。

優先度の設定によるのかとも考えていました。

ハイパースレッディングの設定は、
無効になっていたと思うのですが…、
もう一度確認してみます。

1

スキルアップ/キャリアアップ(JOB@IT)