Open fetburner opened 1 month ago
現在 EPGStation では MySQL や MariaDB を使う場合に TCP による接続方法しか指定することができませんが、docker-mirakurun-epgstation がそうであるように、EPGStation と DB は同じマシン上で走らせることが多いように思われます。 その様なユースケース、データベースとアプリケーションを同一のマシン上でホストする場合、TCP による接続よりも UNIX ドメインソケットによる接続の方が高速であることが知られています。 https://www.percona.com/blog/need-to-connect-to-a-local-mysql-server-use-unix-domain-socket/
MySQL または MariaDB を EPGStation の DB として使う場合に、TCP 接続のアドレスとポートを指定する代わりにUNIXドメインソケットのパス socketPath を指定することもできるようにします。 実装としては、EPGStation で使われている mysql パッケージではコネクション時に socketPath を指定すれば UNIX ドメインソケットによって接続を行うため、コンフィグの値をそちらに引き回しています。https://www.npmjs.com/package/mysql#connection-options
socketPath
MariaDB 10.5.25 により行いました。
Why
現在 EPGStation では MySQL や MariaDB を使う場合に TCP による接続方法しか指定することができませんが、docker-mirakurun-epgstation がそうであるように、EPGStation と DB は同じマシン上で走らせることが多いように思われます。 その様なユースケース、データベースとアプリケーションを同一のマシン上でホストする場合、TCP による接続よりも UNIX ドメインソケットによる接続の方が高速であることが知られています。 https://www.percona.com/blog/need-to-connect-to-a-local-mysql-server-use-unix-domain-socket/
概要(Summary)
MySQL または MariaDB を EPGStation の DB として使う場合に、TCP 接続のアドレスとポートを指定する代わりにUNIXドメインソケットのパス
socketPath
を指定することもできるようにします。 実装としては、EPGStation で使われている mysql パッケージではコネクション時にsocketPath
を指定すれば UNIX ドメインソケットによって接続を行うため、コンフィグの値をそちらに引き回しています。https://www.npmjs.com/package/mysql#connection-options動作確認
MariaDB 10.5.25 により行いました。