Apache2.2を利用して、あるPerlプログラムを走らせています。
そのプログラムは、LWP::UserAgentを利用して、数百サイトにアクセスするというプログラムです。
このプログラムを、IEで1つか2つ起動する分には大丈夫なのですが、3つ、4つ多重起動になると、途中で止まってしまいます。
この場合、もっとも高い原因はどの部分なのでしょうか?
僕はメモリー不足だと思うのですが、どうでしょうか?
環境は、
Windows XP SP2
Perl ver 5.8.8
LWP Version: 5.805
です。
良い回答かわかりませんが、Perlで普通にそのようなプログラムを作ってしまうと、ブラウザからアクセスされるたびに新規プロセスが立ち上がってしまい、負荷が高くなるのだと思います。
ですから、単純にメモリを増やしても、アクセスされるブラウザというか、セッションの数が増えるとまた同じ問題が発生すると思います。
PerlのCGIをプロセスにしないためにはmod_perlなどをapacheに組み込むのだと思います。(その辺りはあまり詳しくないのですみません。)
通常はセッションに対して、プロセスではなく、スレッドを起動することで、質問にあったようなトラブルを回避するのが定石だと思います。
#ダミーURL
ありがとうございます、
現在、mod_perlをインストールしようとしています。
ありがとうございます、いったいどんな感じで質問すればいいのか、迷っています。