MySQLのmy.cnf設定最適化メモ

Webエンジニアのためのデータベース技術[実践]入門であらためてデータベースを学びなおしているところです。負荷が少ないサービスだと、そのままの設定でも動きますが、利用者が膨大に増えた場合はそうもいっていられません。今回はその中のMySQL設定ファイルmy.cnfについて。
my.cnfの設定
log-bin | バイナリログを有効にするためのパラメータ。バイナリログには実行されたSQL文が記録されている。データが壊れた場合、バックアップした時間からしか復旧できないが、バイナリログがあればその間も補填できる。 |
---|---|
slow-query-log | 実行に時間がかかったSQL文を記録。改善に役立つ。デフォルトは10秒。 |
max_connections | 同時接続最大人数。デフォルトは100。 |
innodb_buffer_pool_size | メモリ上で管理するためのバッファサイズ。物理メモリの60%〜80%が望ましい。 |
innodb_flush_method | InnoDBデータファイル、InooDBログファイルの読み書き方式。O_DIRECTだとダイレクトなのでオーバーヘッドを減らせる。 |
このあたりがパフォーマンスに直結する重要設定。log-binやslow-queryはデフォルトではOFFになっています。
[sc name=”engeneer”]
SHARE
PROFILE

入江 慎吾
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)