はえーなるほど、と思ってためしてみたらそのとおりだった。
自分で手作りする場合は UUID
書かないほうがよさそうですね。
Rails のコネクションプール数
基本的に Rack サーバの Worker 数と同じにするべき。
Puma Web サーバーを使用している場合は、pool 値を同等の ENV['RAILS_MAX_THREADS'] に設定することをお勧めします。複数のプロセスを使用している場合は、各プロセスに独自のプールが含まれるため、ワーカープロセスが ENV['RAILS_MAX_THREADS'] を超えない限りはこの設定で十分です。
heroku くんもこう言っとる。 基本的に default
に当たり障りない値を書いておき (これ今も初期化時に記述されるんでしたっけ)、リモート各種の ENV に個別に記述してあげようね。
default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> development: <<: *default staging: pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 2 } %> test: <<: *default production: <<: *default pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 6 } %>
RAILS_MAX_THREADS
を設定する効果が、コネクションプール以外で発揮されるのかは、わからないです……。
それでもあふれるタイミングがある
インフラを見ている案件、稀にコネクションプール枯渇のお知らせが来る事が出てきて、今月は片手で数えられるくらいだった。 Thread も Worker も利用していないようなので問題ないと思うんだけどなあ、と思っていたけど、 Faraday で外部のサーバと通信しているかつ、この外部サーバがよく死ぬので、その箇所でなんかスタックして新規接続にコネクション配れないのか? という気がしている。
コネクション is 難しい。
Homebrew 3.0.0 が出たらしい
へえっ、というわけで入れてみる。
- ロケ地
- MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)
- macOS Big Sur 11.2.1
prezto+powerlevel9k からユーザ・ホスト名を消す
zsh に prezto と powerlevel9k を設定して使っていて、これらはとても便利。
なのですが、プロンプトに ユーザ@ホスト
のように表示されており、作業証跡としてスクリーンショット取得したり、ターミナルの出力を利用すると写り込んだ情報がたまに邪魔といわれ困る。
ので、これを変更する。
どうする
環境によるけど、 ~/.zprezto/modules/prompt/functions/prompt_powerlevel9k_setup
の L617
あたりの記述を変更すれば良い。
set_default POWERLEVEL9K_CONTEXT_TEMPLATE "%n@%m" ↓ set_default POWERLEVEL9K_CONTEXT_TEMPLATE "✖╹◡╹✖"
できた。 固定文言を指定しているのが、シェルで色々変更できるので好きなように変更すると良い。
MySQL 8 でのバイナリログの無効化
MySQL 8.0.x ではバイナリログが標準で有効化されている。 ので、無効化する。
[mysqld] disable-log-bin
これでヨイ。
本当はローテートするようにして、ログを無効化しない方が良いのだけれど、開発環境だったり、定点バックアップ毎にしかデータ保証しない (保守コストの兼ね合い) 等の場合はこうしてやればヨイ。