Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


22.9.7 パフォーマンススキーマ接続テーブル

MySQL 5.6.3 以降、パフォーマンススキーマはサーバーへの接続に関する統計を提供します。クライアントが接続する場合、特定のユーザー名で特定のホストからそれを行います。パフォーマンススキーマは、これらのテーブルを使用して、アカウント (ユーザー名とホスト名) ごとに、およびユーザー名ごととホスト名ごとの個別に、接続を追跡します。

  • accounts: クライアントアカウントごとの接続統計

  • hosts: クライアントホスト名ごとの接続統計

  • users: クライアントユーザー名ごとの接続統計

接続に関する情報を集計するサマリーテーブルもあります。セクション22.9.9.7「接続サマリーテーブル」を参照してください。

接続テーブルでのアカウントの意味は、その用語がユーザーとホスト値の組み合わせを表すという点で、mysql データベース内の MySQL 付与テーブルでのその意味に似ています。付与テーブルでそれらが異なる点は、アカウントのホスト部分をパターンにできるのに対し、接続テーブルではホスト値は常に固有の非パターンホスト名であることです。

接続テーブルにはすべて CURRENT_CONNECTIONS および TOTAL_CONNECTIONS カラムがあり、統計が基づく追跡値ごとの現在と合計の接続数を追跡します。テーブルは、それらが追跡値に使用するものに違いがあります。accounts テーブルには USER および HOST カラムがあり、ユーザー名とホスト名の組み合わせごとに接続を追跡します。users および hosts テーブルには USER および HOST カラムがあり、それぞれユーザー名ごとおよびホスト名ごとに接続を追跡します。

user1user2 というクライアントがそれぞれ hostahostb から一度に接続するとします。パフォーマンススキーマは次のように接続を追跡します。

  • accounts テーブルには、user1/hostauser1/hostbuser2/hosta、および user2/hostb アカウント値の 4 つの行があり、各行はアカウントごとに 1 つの接続をカウントします。

  • users テーブルには、user1user2 値の 2 つの行があり、各行はユーザー名ごとに 2 つの接続をカウントします。

  • hosts テーブルには、hostahostb 値の 2 つの行があり、各行はホスト名ごとに 2 つの接続をカウントします。

クライアントが接続すると、パフォーマンススキーマは、各テーブルに該当する追跡値を使用して、接続に適用する各接続テーブル内の行を判断します。そのような行がない場合、追加されます。次に、パフォーマンススキーマはその行の CURRENT_CONNECTIONS および TOTAL_CONNECTIONS カラムを 1 つ増分します。

クライアントが切断すると、パフォーマンススキーマはその行の CURRENT_CONNECTIONS カラムを 1 つ減分し、TOTAL_CONNECTIONS カラムは変更しないままにします。

パフォーマンススキーマは内部スレッドと認証に失敗したユーザーセッションのスレッドもカウントします。これらは、NULL の値の USER および HOST カラムのある行でカウントされます。

各接続テーブルは TRUNCATE TABLE で切り捨てることができ、次の効果があります。

  • CURRENT_CONNECTIONS = 0 の行が削除されます。

  • CURRENT_CONNECTIONS > 0 の行で、TOTAL_CONNECTIONSCURRENT_CONNECTIONS にリセットされます。

  • 接続テーブルに依存する接続サマリーテーブルは暗黙的に切り捨てられます (サマリー値は 0 に設定されます)。暗黙的な切り捨ての詳細については、セクション22.9.9.7「接続サマリーテーブル」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.