-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: add sidkiq&nginx docker image on eb #235
fix: add sidkiq&nginx docker image on eb #235
Conversation
production deploy by GitHub Actions
8acf1d3
to
2a5f739
Compare
2a5f739
to
f93dbac
Compare
098765c
to
61aca77
Compare
Fix locale of proposals
2380dc4
to
23f8653
Compare
23f8653
to
ce5441b
Compare
ちなみにですが、一つのコンテナで起動時にsidekiqも動かしてしまう(以下のリンクのようにsuperviserdなどで管理するもしくは複数コマンドを実行する)でも解決できる気がするのですが、こちらを採用しない理由としては、やはり1コンテナ1プロセスを保ちたいからでしょうか? |
レビューありがとうございます。:bow:
https://github.com/komtaki/decidim-cfj/tree/hotfix/sidkiq-docker-supervisor 同じことを考えこのブランチでsupervisorも試しましたが、症状が全く同じでした。プロセスの起動順が影響しているのかといろいろ試したのですが何も変わらず。:cry: なのでプロセスをわけても分けなくても同じなら、Dockerの原則にしたがって1コンテナ1プロセスのMRを作った次第です。 |
動作確認が取れたので、試行錯誤の過程で入れた不要なbashを除去しました。04e9f10 動かなかった原因は、データの問題。 |
🎩 What? Why?
本体をdocker化した時に、sidkiqが漏れたので、その対応。
これまでデプロイ後に、ebの設定で同サーバー内で自動でプロセスが起動するようになっていた。しかしDockerプラットフォームでそれは出来ない。そのため、同じコンテナイメージを使用してマルチコンテナ構成で起動するようにした。
その場合、nginxプロキシを自分で設定する必要がある。そのため、nginxコンテナも追加した。
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create_deploy_docker.container.console.html
sidekiq
こちらの警告が毎回出ていたので設定追加しました。
https://qiita.com/shimadama/items/3dee21f179b8100d3209
stagingでsidekiqを追加した場合、メモリ使用量が増加してwarning状態になりました。そのためインスタンスタイプを上げました。
rails 本体もですが、送付に失敗したhtmlメール本文&ヘッダー全部とかがログに出力されてました。結果、パフォーマンスに影響していそうに見えたので、ログレベルをあげました。
所感
sidekiqはメモリ使用量が多く、webサーバーのスケールとスケールのタイミングが異なる。アクセスが増えたからと言って、キューの処理量もそれに応じて、増えるわけではない。このレベルのサービスなら1プロセスで十分。
そのため、WEBサーバーと同じパッケージに入れるのは非効率的だと感じた。パフォーマンスを追求するならfargateとかに移行するべきだと思う。
📌 Related Issues
📋 Subtasks
CHANGELOG
upgrade notes, if required📷 Screenshots (optional)