株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。
EC2で動いているRailsアプリケーションで、多くの同時接続を捌けるようにするためにチューニングをしました。
その際にどこの設定を考慮するのかや参考になった記事をまとめました。
前提として以下の記事を読めば、詳細などを知ることができます。
考慮することの大枠は以下の5つ
- Linux(EC2)の設定
- バックログの最大値の設定
- ファイルディスクリプタの最大値の設定
- vCPUの数
- メモリ容量(RAM)
- Nginxの設定
- ワーカー数
- スレッド数
- リミット数
- Pumaの設定
- ワーカー数
- スレッド数
- Railsの設定
- DBのコネクションプール数の設定
- MySQLの設定
- MaxConnection数
参考記事
同じような構成でのチューニング
Nginxのアーキテクチャ
Nginxの設定値
backlogの設定値
## ファイルディスクリプタについて
https://qiita.com/toshihirock/items/78286fccf07dbe6df38f