2

約 100 人のユーザーがログインしている Web アプリケーションを実行しています。すべてのクライアントは websync を使用してサーバーに接続されています。セッションを常にライブにしておく必要があったため、セッションの有効期限が切れそうになったときにセッションを再生成しています。

しかし、3 ~ 4 日後、CPU が 100% に達し、アプリケーションがロックされていることがわかりました。サーバーを再起動して機能させる必要があります。

事前に解決策を提供していただきありがとうございます。

ありがとう

4

3 に答える 3

2

数万の同時接続で WebSync を使用しているクライアントが多数あります (また、オンデマンド クラスターは、毎日数千のユーザーをノンストップで使用しています)。おそらくあなたのイベントの 1 つで、コードにスレッド化の問題があります (WebSync コードに関連していると仮定します)。

WebSync イベントはすべて静的であることを忘れないでください。したがって、共有リソースを使用している場合は、それに応じて管理する必要があります (つまり、それらがマルチスレッドであることを考慮する必要があります)。すべての WebSync メソッド自体はスレッドセーフですが、独自のイベントに何かがある場合は、それを自分で管理する必要があります。

@Antonが提案したように、私たちと直接チャットしてください!

于 2011-02-06T21:25:16.817 に答える
2

セッション期間を再生成する代わりに、セッション期間を非常に長く延長してみませんか?

サーバーの CPU 使用率が 100% に達したときに、サーバーに対してプロファイラーを実行しましたか? これにより、どのメソッド/クラスがいくつの異なるスレッドで実行されているかが効果的にわかります。この情報を使用すると、アプリケーションがこれらのメソッド/クラスを多くのスレッドで実行している理由を理解できます。

于 2010-12-28T07:51:12.243 に答える
1

前に説明したように、Windows の更新により CPU が 100% になる可能性があります。

于 2011-01-16T19:03:13.550 に答える