問題タブ [service-fabric-actor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure-service-fabric - ステートレス サービスへの Service Fabric リモート呼び出しが返されない、スタックする
このアプリケーションには、別のステートレス サービスを呼び出すステートフル アクターがあります。ステートレス サービスは何らかの処理を行い、応答をアクターに返します。サービスの処理が完了するまでに 1 ~ 2 時間かかる場合があります。
断続的に、サービスが正常に処理を完了したが、応答がアクターに返されないシナリオが見られます。つまり、コントロールがアクターに戻らず、アクターの全体的な処理が滞り、それ以上進まないということです。サービス側またはアクター側で例外は見つかりませんでした。
問題をさらに調査するための指針を探しています。どんな助けでも大歓迎です。
service-fabric-stateful - Service Fabric - アクターのメモリ スパイク
私はサービス ファブリックを初めて使用するため、用語についてはご容赦ください。オンプレミスの Service Fabric を使用する 3 ノード クラスターがあります (たとえば、Azure でホストされていません)。
Rabbit MQ からメッセージをプルし、ビジネス ロジック処理のためにアクターに渡すステートレス サービスがあります。
Power Shell を使用してアプリケーションとサービスを作成する場合、最初にアプリケーションを強制的に削除します。
次に、名前/タイプとイメージ バージョンを使用して、新しいサービス ファブリック アプリケーションを作成します。
最後に、サービスを作成します。
したがって、各ノードでアクターの 5 つのインスタンス/レプリカを作成しています。VM を使用している場合、負荷がない場合、各アクターのメモリ使用量は 50 MB 未満です。
次のパワー シェル スクリプトを実行してサービスを停止および開始する (基本的にサービスを再作成する) が、アプリケーションを再作成しない場合、同じアクターが開始され、メモリがすぐに 140 MB 以上になることに気付きます。 .
私のアクターの実装には永続的な状態がありません。
以下の NuGet パッケージを使用しています
Autofac 5.2.0 Autofac.ServiceFabric 3.0.0 Microsoft.ServiceFabric.Actors 4.1.456
私たちのクラスターはコードバージョンを実行しています: 7.2.457.9590
私はメモリ ダンプを取得しようとしましたが、winDBG を使用している人の頭や話をするのに十分な知識がありません。ANTSメモリプロファイラ11を使って解析してみましたが、やはり何を見ているのかわかりません。
アクターの起動時に、アプリケーション内の別のマイクロ サービスから構成 (db 接続文字列、およびその他の設定) を取得し、これらすべてを autofac コンテナー ビルダーに格納します。次に、アクターを常に実行し続けるために、次のことを行います。続く:
最終的に、アプリケーションを最初に作成したときはメモリ使用量が問題ないように見えるのに、アプリケーションを変更せずにサービスを削除/作成した後、アプリケーションの負荷が増加することなく、メモリが最大 3 倍以上増加するように見える理由を理解するのに役立ちたいと思います。