Coldfusion 8 のインスタンスで BlazeDS を実行しています。70 のロング ポーリング リクエストが許可され、2 秒のポーリング間隔でクライアント ポーリングに移行する、プロデューサーとコンシューマーの両方として機能するフレックス チャット アプリです。jRun メトリックのロギングが有効になっています。サーバーは、1200mb の最大ヒープ サイズ、最大 210 の jrun スレッド、および最大 150 の同時フラッシュ リモート処理要求でセットアップされます。
次の JRun 統計から大きく逸脱することなく、すべてが何時間もクルージングしているように見えます。
実行中のスレッド、使用可能なスレッド、Jrun セッション、合計使用メモリ MB、使用メモリ MB
71,101, 148, 332.864, 34.866
その後、突然、おそらく数時間かけてメモリがゆっくりと増加し、時々 java.lang.OutOfMemoryError: Java heap space 例外が発生します。メモリは使用されていますが、解放されておらず、おおよそのメトリック データが添付されています。
実行中のスレッド、使用可能なスレッド、Jrun セッション、合計使用メモリ MB、使用メモリ MB
71、130、195、1015.424、249.94
Coldfusion モニターには異常なメモリ使用量は表示されず、アプリケーション例外もスローされていません。
system.out ログに次のようなエラーが多数記録されていますが、それらが関連しているかどうかはわかりません。BlazeDS に関連するそれらに関する情報は見つかりません。
java.lang.IllegalStateException: Session is invalid
at jrun.servlet.session.JRunSession.checkSessionValidity(JRunSession.java:394)
メモリの使用率が非常に高くなることがありますが、out of mem エラーは発生しません。その後、アクティビティが落ち着くとメモリが解放されますが、使用可能なメモリが 20 秒で 480 MB から 800 MB に変化することがあります。メモリに段階的なリリースはありません。
誰かが前にこのようなものに出くわしたことがありますか?
私のservices-config.xml
<properties>
<polling-enabled>true</polling-enabled>
<polling-interval-millis>2000</polling-interval-millis>
<wait-interval-millis>60000</wait-interval-millis>
<client-wait-interval-millis>1</client-wait-interval-millis>
<max-waiting-poll-requests>70</max-waiting-poll-requests>
</properties>