松田さん
・「saveを実行したところで」と書かれていますが、newしただけではメモリはそんなに食わないのでしょうか?
・「数分間処理が戻ってきません」ということはCPUもイッちゃってる感じですか?だとしたらどのメソッド呼び出しででしょうか?
・JRubyをお使いとのことですが、XMLバックエンドは何が使われているのでしょうか?
・CRubyでも同じ問題が発生しますか?
・同じXMLをファイルで保存しておいてconsole等でHash.from_xml してみたらメモリ消費量はどうでしょうか?
・ファイルサイズは同じぐらいでnode数は極端に少ないXMLを食わせてみたらどうなりますか?
松田といいます。
2011/1/28 y koshiyama <koshiyama.fb@gmail.com>:
頂いた情報だけではなんとも言えないのですが、直感的にはXMLが怪しそうな気がします。> ActiveResourceに関して質問させて下さい。
> 現在、以下の環境でWebアプリケーションを開発しています。
> ■jruby1.5.6
> ■rails2.3.5
> また、発生する通信の概要は以下の通りです。
> クライアントPC ←→ Webサーバ1 ←(ActiveResource経由)→Webサーバ2 ←→ DB
> このとき、ActiveResource経由でファイルの送受信処理が発生するのですが、
> 数MB程度のファイルを送受信すると、(ActiveResourceインスタンス).saveを実行したところで処理が重くなります。
> 具体的にはメモリを数百メガバイト消費し始め、数分間処理が戻ってきません。
> これはActiveResourceの仕様なのでしょうか?
が、AResのXMLの実装は確かにだいぶ富豪気味ではあるのですが、そこまで実用に耐えないほどではないはずです。
たとえば以下のようにもう少し問題を切り分けていただくことは可能ですか?
・「saveを実行したところで」と書かれていますが、newしただけではメモリはそんなに食わないのでしょうか?
・「数分間処理が戻ってきません」ということはCPUもイッちゃってる感じですか?だとしたらどのメソッド呼び出しででしょうか?
・JRubyをお使いとのことですが、XMLバックエンドは何が使われているのでしょうか?
・CRubyでも同じ問題が発生しますか?
・同じXMLをファイルで保存しておいてconsole等でHash.from_xml してみたらメモリ消費量はどうでしょうか?
・ファイルサイズは同じぐらいでnode数は極端に少ないXMLを食わせてみたらどうなりますか?
--
Akira Matsuda<ronnie@dio.jp>
--
ML: rails@ruby.ml.fdiary.net
使い方: http://QuickML.com/