MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのアクティブ接続数と合計接続数を確認する方法

MySQLにおけるアクティブな接続数や合計接続数は、ステータス変数「Threads_connected」を使って簡単に確認できます。この変数は、現在サーバー上で開いている接続(スレッド)の数を示しています。

Threads_connectedで現在の接続数を確認する

以下のSQLクエリを実行すると、現在開いている接続の総数を取得できます。

mysql> show status where `variable_name` = 'Threads_connected';

実行結果は次のとおりです。

+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 1     |
+-------------------+-------+
1 row in set (0.06 sec)

この例では、現在1つの接続が開いていることがわかります。

show processlistで接続の詳細を確認する

同じ内容は「show processlist」コマンドでも確認できます。こちらを実行すると、どのユーザーがどのホストから接続しているか、実行中のコマンドやその状態など、より詳細な情報を把握できます。

mysql> show processlist;

実行結果は次のとおりです。

+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
| Id | User            | Host            | db       | Command | Time   | State                  | Info             |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
|  4 | event_scheduler | localhost       | NULL     | Daemon  | 349012 | Waiting on empty queue | NULL             |
| 11 | root            | localhost:54746 | business | Query   |      1 | starting               | show processlist |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
2 rows in set (0.31 sec)

出力には、各接続のID、ユーザー名、ホスト、使用中のデータベース(db)、実行中のコマンド種別、経過時間(Time)、状態(State)、実行中のSQL文(Info)が表示されます。上記の例では、MySQL内部の「event_scheduler」によるデーモン接続と、rootユーザーによるクエリ実行の計2つの接続が確認できます。

補足:アクティブな接続とアイドル状態の接続の違い

「Threads_connected」にはアイドル状態の接続も含まれるため、これはあくまで「開いている接続の合計数」です。実際にクエリを実行中のアクティブな接続数を知りたい場合は、以下のように「Threads_running」を確認してください。

mysql> show status where `variable_name` = 'Threads_running';

また、サーバーが許容する最大同時接続数はシステム変数「max_connections」で確認できます。接続数がこの上限に達すると新たな接続は拒否されるため、本番環境の運用では定期的に接続数を監視しておくことをおすすめします。

  1. MySQLデータベースのインデックスを確認・表示する方法

    MySQLで作成済みのインデックスを確認したい場合、information_schema データベースの statistics テーブルを参照するのが便利です。このテーブルには、サーバー上のすべてのインデックスに関するメタデータ(テーブル名、カラム名、インデックスの種類など)が格納されています。information_schema.statistics を使ったインデックスの表示方法インデックスを表示するための基本構文は以下の通りです。select * from information_schema.statistics where table_schema = yourDatabaseNam

  2. LinuxでアクティブなSSH接続をすべて表示・確認する5つの方法

    SSHは、ローカルマシンからリモートホストへログインして管理作業を行える、広く利用されているプロトコルです。本記事では、リモートホスト上のアクティブなSSH接続を確認するために使える、さまざまなコマンドを順番に紹介していきます。 注意: システムの設定によっては、ここで紹介する一部のコマンドを実行する際に、root権限またはsudo権限が必要になる場合があります。 1. whoコマンドを使う方法 アクティブなSSH接続を表示できる最初のコマンドが、whoコマンドです。 whoコマンドは、現在システムにログインしているユーザーを一覧表示するためのコマンドです。接続中のユーザーと、その接続元IP