thread pool starvation
1.0.0
aspnetアプリサンプルスレッドプールの飢vを検出して:
dotnet-countersdotnet-stackheydotnet-monitorprometheusgrafanaDockerを使用してアプリを実行します
docker compose up app
dotnet-countersを使用してアプリケーションを監視します
docker exec -it thread-pool-test-app dotnet-counters monitor -n dotnet
dotnet-stack実行するには、次のことを実行します
docker exec -it thread-pool-test-app dotnet-stack report -n dotnet
アプリを実行するとdotnet-monitorでコンテナが起動します。このコンテナは、診断ポートを介してアプリコンテナから診断コマンドを取得するためにセットアップされています。 dotnetモニターは、エンドポイントを有用な情報で公開します。
https://github.com/dotnet/dotnet-monitor/blob/main/documentation/api/readme.mdで完全なリストを表示できます。
Metrics Endpointは、Prometheus博覧会形式のメトリックをキャプチャします。
Grafanaを開始するには、コマンドBellowを使用します。
docker compose up grafana
Prometheus dataSourceを使用してGrafanaを作成し、コミュニティはDotnet-Monitorダッシュボードを提供しました。起動すると、http:// localhost:3000/dashboards(user: admin 、password: admin )に移動します
同期エンドポイントにヒットするロードテストを開始します
docker compose up send-load-sync
Asyncエンドポイントにヒットするロードテストを開始します
docker compose up send-load-async