通常、開いているテーブルの多くは心配する必要はありません。OS の制限に近づいた場合は、カーネル設定でこの制限を増やすことができます。
Linux で開いているファイル数の制限を変更するにはどうすればよいですか?
MySQL は各セッションのテーブルを個別に開き、同時実行性を高めます。
table_open_cacheおよびmax_connectionsシステム変数は、サーバーが開いたままにしておくファイルの最大数に影響します。これらの値のいずれかまたは両方を増やすと、プロセスごとに開いているファイル記述子の数に対してオペレーティング システムによって課せられた制限に達する可能性があります。多くのオペレーティング システムでは、開いているファイルの制限を増やすことができますが、その方法はシステムによって大きく異なります。
詳しくはこちらで解説しています
http://dev.mysql.com/doc/refman/5.5/en/table-cache.html
編集
max_connections
仮定を検証するために、table_open_cache
一時的に を減らすことができますSET GLOBAL table_open_cache := newValue
。
サーバーを再起動せずに値を動的に調整できます。
MySQL 5.1 より前のバージョンでは、この変数はtable_cacheと呼ばれていました
私が伝えようとしていたのは、この値を減らすと、おそらく同時読み取りの可能性が低くなるという点でパフォーマンスに悪影響を与える可能性があるということです (キューが長くなります)。代わりに、OS の制限を増やして を増やす必要がありますがmax_open_files
、おそらく私はここで要点がわかりません