- 571 名前:デフォルトの名無しさん [2007/06/17(日) 00:50:24 ]
- Javaのjava.net.URLを使用して、Webサイトの情報を集めるプログラムを
作成したのですが、WindowsとLinuxで速度が異様に異なります。 プログラムはこんな感じのものです。 ※関連ありそうな部分だけ抜き出しています while(継続条件){ URL stockURL = new URL("http://アドレス"); in = new BufferedReader(new InputStreamReader(stockURL.openStream(),"EUC_JP")); while ((line = in.readLine()) != null) { //処理 } in.close(); } このようなイメージのプログラムをスレッドで100個同時起動しているのですが、 Windowsだと2時間くらいで終わる処理がLinuxで実行すると1時間で5%くらいしか 完了していませんでした。 Linuxのシステムモニタを見ると、通信がある程度行われると全く行われない 状態が数分続き、その後にまた通信しているようなイメージに見えました。 ※通信していない間はCPU使用率も落ちる。 Linuxのシステムモニタとログを出力した際にURLオブジェクト生成のあたりで 止まっていたりするので、通信系だと思うのですが何か原因がわかる方いましたら ご教示願えませんでしょうか。 プログラムよりもLinuxの設定なのかもしれませんが・・・。 よろしくお願いします
|

|