MySQLでtoo many connectionsエラーが発生した経緯もあり、MySQLのコネクション接続数とスレッド数を参照するコマンドを調査しました。以下に記載します。
現在の接続数
以下は累計のため、現在値を把握するためには前回値との差分を取る
mysql> show global status like 'Threads_connected'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_connected | 2 | +-------------------+-------+
最大接続数設定(上限)
mysql> show global variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 150 | +-----------------+-------+
起動してからの累積接続数
mysql> show global status like 'Connections'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Connections | 11862 | +---------------+-------+
起動してからこれまでの最大同時接続数
mysql> show global status like 'Max_used_connections'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Max_used_connections | 94 | +----------------------+-------+
接続プロセスのタイムアウトの確認
mysql> show global variables like 'wait_timeout%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | wait_timeout | 28800 | +--------------------------+-------+
最大接続数を超えた場合のエラー(Too many connections)について
発生条件は以下
下記で表示するプロセス数がmax_connectionsと同じ場合
mysql> show processlist;
参考URL
MySQLのスレッドとか接続数とか - @bayashi Wiki コネクション数の確認と変更 - Knowlege Database