0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pleasanterの応答がたまに遅くなる件の対応

0
Posted at

現象

Pleasanterを使った簡易Webシステムについて、Uiの設定も大体終わり、利用テストに入ったところ、画面遷移時に異様に反応が遅くなる事象が発生しました。
開発者ツールで見てみると、index.htmlの受信が保留のままとなっています。
数秒なら許容できるのですが、下手すると1分以上待たされてしまいます。

原因

.NETのスレッドプール枯渇でした。

対応策

Pleasanterコンテナ内のImplem.Pleasanter.runtimeconfig.jsonの設定を次のように変更しました。

{
  "runtimeOptions": {
    "configProperties": {
      "System.Threading.ThreadPool.MinThreads": 200
    }
  }
}

症状からスレッドプールの枯渇だろうなーと思ったのですが、設定方法がわからず探していたら、GitHubのIssueを見つけ、参考とさせていただきました。
https://github.com/Implem/Implem.Pleasanter/issues/571

感想

テストを数人でやっている状態で、たまにとはいえ画面遷移で数分待たされたときは冷や汗ものでした。小規模とはいえテストの100倍くらいのアクセスが来る予定でしたから。
最終的な解決にいたるまで、PythonとLocustを使って簡易負荷テストも行いました。
当初は同時40アクセスで応答に遅延が発生していたものが、同時500アクセス+DB書き込みを30分続けてもパフォーマンスが落ちず、この設定変更は有効でした。
簡易なものであっても、負荷テストはかけておくに限りますね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?