回答:
開始する前に検討すべき構成オプションがいくつかあります。
myisamをまったく使用しない限り、ほとんどすべてのmax_connections
メモリを安全に割り当てることができます(OSが快適に動作するのに十分な量を維持し、メモリを十分に確保できます)innodb_buffer_pool
。InnoDBの優れている点は、ほとんどすべてのメモリを単独で処理できることです。クエリキャッシュやキーバッファなどを分離する必要はありません。
を有効にすることをお勧めします。innodb_file_per_table
これは、ファイルシステムを参照して、さまざまなテーブルやデータベースに必要なスペースを確認するだけの方がはるかに簡単になるためです。InnoDBの内部使用には汎用のibdataファイルが必要ですが、それをとして定義できます10M:autoextend
。事前に割り当てられたサイズでさまざまなinnodbデータファイルを定義する必要はありません。
innodb_log_file_size
そしてinnodb_log_buffer_size
あなたが大規模なものをたくさん持っている場合組み合わせは10回あなたの最大のBLOBオブジェクトよりも大きくする必要があります。そうしないと(そして、あなたは[てはならない1、2 ])、それを多くのことを気にする必要は本当にありません。計算方法の詳細なレポートについては、MySQL Performance Blogを確認してください。
また、MySQLをしばらく実行している場合は、MySQLTunerまたはMySQL Tuning Primerで設定を確認してください。
より詳細なレポートについては、mysqlreportを試し、ライブモニタリングについてはmytopを確認してください。
私にとってわずかな「驚き」は、innodbがデフォルトですべてのデータベース/テーブルに1つのファイルを使用することでした。データベースごとにディレクトリを使用し、テーブル/テーブルインデックスごとにファイルを使用するMyISAMテーブルとは対照的です。
物理ファイルをテーブル単位で縮小することに慣れている場合は、問題になる可能性があります(テーブルxxxを最適化)