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?

EC2 + Rails + Nginx + Puma + MySQLでのチューニング

Last updated at Posted at 2023-06-07

株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。

DXプロジェクト、開発プロジェクト、Rails開発などでお困りごとがありましたら弊社HPからご相談をいただけますと幸いです。
以下のような問題に対応することが可能です。

  • プロジェクトでRailsエンジニアが足りなくて困っている
  • Railsのバージョンアップをしたいがノウハウ・リソースが足りなくて困っている
  • オフショア開発をしているが、要件の齟齬やコード品質が悪いので改善したい

また、Railsエンジニアも募集しておりますので、興味がありましたら弊社HPからご連絡いただけますと幸いです。

前提

EC2で動いているRailsアプリケーションで、多くの同時接続を捌けるようにするためにチューニングをしました。
その際にどこの設定を考慮するのかや参考になった記事をまとめました。

前提として以下の記事を読めば、詳細などを知ることができます。

考慮することの大枠は以下の5つ

  • Linux(EC2)の設定
    • バックログの最大値の設定
    • ファイルディスクリプタの最大値の設定
    • vCPUの数
    • メモリ容量(RAM)
  • Nginxの設定
    • ワーカー数
    • スレッド数
    • リミット数
  • Pumaの設定
    • ワーカー数
    • スレッド数
  • Railsの設定
    • DBのコネクションプール数の設定
  • MySQLの設定
    • MaxConnection数

参考記事

同じような構成でのチューニング

Nginxのアーキテクチャ

Nginxの設定値

backlogの設定値

## ファイルディスクリプタについて
https://qiita.com/toshihirock/items/78286fccf07dbe6df38f

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?