基本的にいくつかのjsonデータをrubyオブジェクトに変換していくつかのタスクを実行するプロジェクトに取り組んでいます。タスク側は問題ありません。json パーサーに問題がありました。
Ruby OJ はパーサー エンジンです。私のcouchdbから1000人以下のユーザーデータを解析する場合は非常にうまく機能しますが、4000を超えるとメモリリークが始まり、ubuntuサーバーはrubyプロセスを強制終了します.
ここでオプションが不足しています。ソフトウェアのこの部分だけを実行してパフォーマンスをテストしたところ、パーサー自体がこの問題の原因であることがわかりました。コードは単なるOj.load(json)であり、各ユーザーは少なくとも 100 行、最大で 9000 行の json データを持つことができます。それは多すぎますか?
Ruby 1.9.2 と 1.9.3 でテストしています。
私が間違っていることについての手がかりはありますか?
前もって感謝します、