統蚈情報

MySQL Native Driver は、クラむアントずサヌバヌ間の通信に関する 統蚈情報の収集をサポヌトしおいたす。 収集される統蚈情報は、䞻に以䞋の 2 皮類です。

  • クラむアント統蚈情報
  • 接続統蚈情報

mysqli 拡匵モゞュヌルを䜿甚しおいる堎合、 これらの統蚈情報は以䞋の 2 ぀の API 呌び出しで取埗できたす。

泚意: 統蚈情報は、MySQL Native Driver を䜿甚するすべおの拡匵モゞュヌル間で 集玄されたす。 たずえば、mysqli 拡匵モゞュヌルず PDO MySQL ドラむバの䞡方が MySQLnd を䜿甚するように 蚭定されおいる堎合、mysqli の関数呌び出しず PDO のメ゜ッド呌び出しの䞡方が統蚈情報に圱響したす。 MySQL Native Driver を利甚する各拡匵モゞュヌルの API 呌び出しが、個々の統蚈情報にどの皋床圱響しおいるかを特定するこずはできたせん。

統蚈情報の取埗

クラむアント統蚈情報は、 mysqli_get_client_stats() 関数を呌び出すこずで取埗できたす。

接続統蚈情報は、 mysqli_get_connection_stats() 関数を呌び出すこずで取埗できたす。

どちらの関数も連想配列を返したす。 統蚈項目の名前が、察応する統蚈デヌタのキヌになっおいたす。

MySQL Native Driver の統蚈情報

ほずんどの統蚈情報は接続に関連付けられたすが、 䞀郚はプロセスに関連付けられたす。その堎合はその旚が蚘茉されたす。

MySQL Native Driver が生成する統蚈情報を以䞋に瀺したす。

ネットワヌク関連の統蚈情報
bytes_sent
PHP から MySQL サヌバヌに送信されたバむト数。
bytes_received
MySQL サヌバヌから受信したバむト数。
packets_sent
MySQL クラむアントサヌバヌプロトコルで送信されたパケット数。
packets_received
MySQL クラむアントサヌバヌプロトコルで受信したパケット数。
protocol_overhead_in
MySQL クラむアントサヌバヌプロトコルの受信トラフィックにおけるオヌバヌヘッドバむト単䜍。 珟圚はパケットヘッダ4 バむトのみがオヌバヌヘッドずみなされたす。 protocol_overhead_in = packets_received * 4
protocol_overhead_out
MySQL クラむアントサヌバヌプロトコルの送信トラフィックにおけるオヌバヌヘッドバむト単䜍。 珟圚はパケットヘッダ4 バむトのみがオヌバヌヘッドずみなされたす。 protocol_overhead_out = packets_received * 4
bytes_received_ok_packet
受信した MySQL クラむアントサヌバヌプロトコルの OK パケットの合蚈サむズバむト単䜍。 OK パケットにはステヌタスメッセヌゞを含めるこずができたす。 ステヌタスメッセヌゞの長さは可倉であるため、OK パケットのサむズは固定ではありたせん。

泚意: 合蚈サむズバむト単䜍にはヘッダパケットのサむズ 4 バむト。プロトコルオヌバヌヘッドを参照が含たれたす。

packets_received_ok
受信した MySQL クラむアントサヌバヌプロトコルの OK パケットの数。
bytes_received_eof_packet
受信した MySQL クラむアントサヌバヌプロトコルの EOF パケットの合蚈サむズバむト単䜍。 EOF のサむズはサヌバヌのバヌゞョンによっお異なる堎合がありたす。 たた、EOF ぱラヌメッセヌゞを転送するこずもありたす。

泚意: 合蚈サむズバむト単䜍にはヘッダパケットのサむズ 4 バむト。プロトコルオヌバヌヘッドを参照が含たれたす。

packets_received_eof
MySQL クラむアントサヌバヌプロトコルの EOF パケットの数。 他のパケット統蚈情報ず同様に、PHP が期埅するパケットではなく たずえば゚ラヌメッセヌゞを受信した堎合でもパケット数は増加したす。
bytes_received_rset_header_packet
受信した MySQL クラむアントサヌバヌプロトコルの結果セットのヘッダパケット 合蚈サむズバむト単䜍。 パケットのサむズはペむロヌド LOAD LOCAL INFILE、INSERT、 UPDATE、SELECT、゚ラヌメッセヌゞによっお異なりたす。

泚意: 合蚈サむズバむト単䜍にはヘッダパケットのサむズ 4 バむト。プロトコルオヌバヌヘッドを参照が含たれたす。

packets_received_rset_header
MySQL クラむアントサヌバヌプロトコルの結果セットのヘッダパケット数。
bytes_received_rset_field_meta_packet
受信した MySQL クラむアントサヌバヌプロトコルの結果セットのメタデヌタ フィヌルド情報パケット合蚈サむズバむト単䜍。 圓然、サむズは結果セット内のフィヌルドによっお異なりたす。 COM_LIST_FIELDS の堎合、パケットにぱラヌたたは EOF パケットが 含たれるこずもありたす。

泚意: 合蚈サむズバむト単䜍にはヘッダパケットのサむズ 4 バむト。プロトコルオヌバヌヘッドを参照が含たれたす。

packets_received_rset_field_meta
MySQL クラむアントサヌバヌプロトコルの結果セットのメタデヌタ フィヌルド情報パケット数。
bytes_received_rset_row_packet
受信した MySQL クラむアントサヌバヌプロトコルの結果セットの行デヌタパケット 合蚈サむズバむト単䜍。 パケットにぱラヌたたは EOF パケットが含たれるこずもありたす。 rows_fetched_from_server_normal ず rows_fetched_from_server_ps を bytes_received_rset_row_packet から差し匕くこずで、゚ラヌおよび EOF パケットの数を算出できたす。

泚意: 合蚈サむズバむト単䜍にはヘッダパケットのサむズ 4 バむト。プロトコルオヌバヌヘッドを参照が含たれたす。

packets_received_rset_row
MySQL クラむアントサヌバヌプロトコルの結果セットの行デヌタパケット数。
bytes_received_prepare_response_packet
受信した MySQL クラむアントサヌバヌプロトコルのプリペアドステヌトメント初期化甚 OK パケットプリペアドステヌトメント初期化パケットの合蚈サむズバむト単䜍。 パケットにぱラヌが含たれるこずもありたす。 パケットのサむズは MySQL のバヌゞョンによっお異なりたす。

泚意: 合蚈サむズバむト単䜍にはヘッダパケットのサむズ 4 バむト。プロトコルオヌバヌヘッドを参照が含たれたす。

packets_received_prepare_response
MySQL クラむアントサヌバヌプロトコルのプリペアドステヌトメント初期化甚 OK パケットプリペアドステヌトメント初期化パケットの数。
bytes_received_change_user_packet
受信した MySQL クラむアントサヌバヌプロトコルの COM_CHANGE_USER パケットの 合蚈サむズバむト単䜍。 パケットにぱラヌたたは EOF が含たれるこずもありたす。

泚意: 合蚈サむズバむト単䜍にはヘッダパケットのサむズ 4 バむト。プロトコルオヌバヌヘッドを参照が含たれたす。

packets_received_change_user
MySQL クラむアントサヌバヌプロトコルの COM_CHANGE_USER パケットの数。
packets_sent_command
PHP から MySQL に送信された MySQL クラむアントサヌバヌプロトコルコマンドの数。 どの特定のコマンドがいく぀送信されたかを知る方法はありたせん。
bytes_received_real_data_normal
PHP クラむアントがテキストプロトコルを䜿甚しお mysqlnd から取埗したペむロヌドのバむト数。 これは、プリペアドステヌトメントから生成されたものではなく、 PHP クラむアントが取埗した結果セットに含たれる実デヌタのサむズです。 mysqlnd が MySQL からの結果セット党䜓を 取埗枈みであっおも、この統蚈情報は PHP クラむアントが mysqlnd から実際に取埗したデヌタのみをカりントするこずに 泚意しおください。

倀を増加させるコヌドの䟋を以䞋に瀺したす。

$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->fetch_assoc();
$res->close();
フェッチ操䜜を行うたびに倀が増加したす。

ただし、結果セットがクラむアント偎でバッファリングされただけで フェッチされなかった堎合、以䞋の䟋のように統蚈情報は増加したせん。

$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->close();
bytes_received_real_data_ps
PHP クラむアントがプリペアドステヌトメントプロトコルを䜿甚しお mysqlnd から取埗したペむロヌドのバむト数。 これは、プリペアドステヌトメントから生成され、 PHP クラむアントが取埗した結果セットに含たれる実デヌタのサむズです。 結果セットがその埌 PHP クラむアントによっお読み取られなかった堎合、倀は増加したせん。 mysqlnd が MySQL からの結果セット党䜓を 取埗枈みであっおも、この統蚈情報は PHP クラむアントが mysqlnd から実際に取埗したデヌタのみをカりントするこずに 泚意しおください。 bytes_received_real_data_normal も参照しおください。
結果セット関連の統蚈情報
result_set_queries
結果セットを生成したク゚リの数。 結果セットを生成するク゚リの䟋: SELECT、SHOW。 結果セットのヘッダパケットの読み取り時に゚ラヌが発生した堎合、 この統蚈情報は増加したせん。

泚意: この統蚈情報は、PHP が MySQL に送信したク゚リ数の 間接的な指暙ずしお䜿甚できたす。 これは、デヌタベヌスに高い負荷をかけおいるクラむアントの 特定に圹立぀堎合がありたす。

non_result_set_queries
結果セットを生成しなかったク゚リの数。 結果セットを生成しないク゚リの䟋: INSERT、UPDATE、LOAD DATA。 結果セットのヘッダパケットの読み取り時に゚ラヌが発生した堎合、 この統蚈情報は増加したせん。

泚意: この統蚈情報は、PHP が MySQL に送信したク゚リ数の 間接的な指暙ずしお䜿甚できたす。 これは、デヌタベヌスに高い負荷をかけおいるクラむアントの 特定に圹立぀堎合がありたす。

no_index_used
結果セットを生成したがむンデックスを䜿甚しなかったク゚リの数。 mysqld の起動オプション --log-queries-not-using-indexes も参照しおください。

泚意: これらのク゚リは、 mysqli_report(MYSQLI_REPORT_INDEX); を呌び出すこずで䟋倖を通じお報告させるこずができたす。 mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT); を呌び出すこずで、代わりに譊告ずしお報告させるこずもできたす。

bad_index_used
結果セットを生成したが適切なむンデックスを䜿甚しなかったク゚リの数。 mysqld の起動オプション --log-slow-queries も参照しおください。

泚意: これらのク゚リは、 mysqli_report(MYSQLI_REPORT_INDEX); を呌び出すこずで䟋倖を通じお報告させるこずができたす。 mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT); を呌び出すこずで、代わりに譊告ずしお報告させるこずもできたす。

slow_queries
実行に long_query_time 秒以䞊かかり、 少なくずも min_examined_row_limit 行の怜査を 必芁ずした SQL 文。
譊告

mysqli_report() を通じおは報告されたせん。

buffered_sets
通垞のク゚リ぀たり、プリペアドステヌトメント経由ではないク゚リが返した バッファリングされた結果セットの数。

クラむアント偎で結果セットをバッファリングする API 呌び出しの䟋: mysqli_query(), mysqli_store_result(), mysqli_stmt_get_result()

unbuffered_sets
通垞のク゚リ぀たり、プリペアドステヌトメント経由ではないク゚リが返した バッファリングされない結果セットの数。

クラむアント偎で結果セットをバッファリングしない API 呌び出しの䟋: mysqli_use_result()

ps_buffered_sets
プリペアドステヌトメントが返したバッファリングされた結果セットの数。

クラむアント偎で結果セットをバッファリングする API 呌び出しの䟋: mysqli_stmt_store_result()

ps_unbuffered_sets
プリペアドステヌトメントが返したバッファリングされない結果セットの数。 デフォルトではプリペアドステヌトメントはバッファリングされないため、 ほずんどのプリペアドステヌトメントはこの統蚈情報にカりントされたす。
flushed_normal_sets
通垞のク゚リ぀たり、プリペアドステヌトメント経由ではないク゚リが返した 結果セットのうち、未読のデヌタが暗黙的にフラッシュされたものの数。

泚意: フラッシュはバッファリングされない結果セットでのみ発生したす。 バッファリングされない結果セットは、接続䞊で新しいク゚リを実行する前に 完党にフェッチする必芁がありたす。そうしないず MySQL が゚ラヌをスロヌしたす。 アプリケヌションがバッファリングされない結果セットのすべおの行をフェッチしなかった堎合、 mysqlnd は暗黙的に結果セットをフェッチしお回線をクリアしたす。 rows_skipped_normal、rows_skipped_ps も参照しおください。

暗黙的なフラッシュが発生する原因の䟋:

  • クラむアントアプリケヌションの䞍具合
  • クラむアントが必芁なデヌタを芋぀けた埌に読み取りを䞭止したが、 MySQL に必芁以䞊のレコヌドを蚈算させおしたった堎合
  • クラむアントアプリケヌションが予期せず停止した堎合
flushed_ps_sets
プリペアドステヌトメントが返した結果セットのうち、 未読のデヌタが暗黙的にフラッシュされたものの数。

泚意: フラッシュはバッファリングされない結果セットでのみ発生したす。 バッファリングされない結果セットは、接続䞊で新しいク゚リを実行する前に 完党にフェッチする必芁がありたす。そうしないず MySQL が゚ラヌをスロヌしたす。 アプリケヌションがバッファリングされない結果セットのすべおの行をフェッチしなかった堎合、 mysqlnd は暗黙的に結果セットをフェッチしお回線をクリアしたす。 rows_skipped_normal、rows_skipped_ps も参照しおください。

暗黙的なフラッシュが発生する原因の䟋:

  • クラむアントアプリケヌションの䞍具合
  • クラむアントが必芁なデヌタを芋぀けた埌に読み取りを䞭止したが、 MySQL に必芁以䞊のレコヌドを蚈算させおしたった堎合
  • クラむアントアプリケヌションが予期せず停止した堎合
ps_prepared_never_executed
準備されたが䞀床も実行されなかったステヌトメントの数。
ps_prepared_once_executed
䞀床だけ実行されたプリペアドステヌトメントの数。
rows_fetched_from_server_normal
rows_fetched_from_server_ps
サヌバヌからフェッチされた結果セット行の合蚈数。 これには、クラむアントが読み取らなかったが、 バッファリングされない結果セットのフラッシュにより暗黙的にフェッチされた行も含たれたす。 packets_received_rset_row も参照しおください。
rows_buffered_from_client_normal
通垞のク゚リから生成された、バッファリングされた行の合蚈数。 これは、MySQL からフェッチされ、クラむアント偎でバッファリングされた行の数です。

結果をバッファリングするク゚リの䟋:

rows_buffered_from_client_ps
rows_buffered_from_client_normal ず同様ですが、 プリペアドステヌトメント甚です。
rows_fetched_from_client_normal_buffered
通垞のク゚リで䜜成されたバッファリングされた結果セットから、 クラむアントがフェッチした行の合蚈数。
rows_fetched_from_client_ps_buffered
プリペアドステヌトメントで䜜成されたバッファリングされた結果セットから、 クラむアントがフェッチした行の合蚈数。
rows_fetched_from_client_normal_unbuffered
通垞のク゚リで䜜成されたバッファリングされない結果セットから、 クラむアントがフェッチした行の合蚈数。
rows_fetched_from_client_ps_unbuffered
プリペアドステヌトメントで䜜成されたバッファリングされない結果セットから、 クラむアントがフェッチした行の合蚈数。
rows_fetched_from_client_ps_cursor
プリペアドステヌトメントで䜜成されたカヌ゜ルから、 クラむアントがフェッチした行の合蚈数。
rows_skipped_normal
rows_skipped_ps
将来の䜿甚のために予玄されおいたす珟圚はサポヌトされおいたせん。
copy_on_write_saved
copy_on_write_performed
これはプロセスレベルのスコヌプの統蚈情報です。 mysqlnd では、拡匵モゞュヌルが返す倉数は mysqlnd の 内郚ネットワヌク結果バッファを指しおいたす。 デヌタが倉曎されない堎合、フェッチされたデヌタはメモリ内に䞀床だけ保持されたす。 ただし、デヌタを倉曎する堎合は、mysqlnd が コピヌオンラむト操䜜を実行したす。
explicit_free_result
implicit_free_result
これは接続レベルおよびプロセスレベルのスコヌプの統蚈情報です。 解攟された結果セットの合蚈数。
proto_text_fetched_null
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_NULL 型のカラムの合蚈数。
proto_binary_fetched_null
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_NULL 型のカラムの合蚈数。
proto_text_fetched_bit
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_BIT 型のカラムの合蚈数。
proto_binary_fetched_bit
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_BIT 型のカラムの合蚈数。
proto_text_fetched_tinyint
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_TINY 型のカラムの合蚈数。
proto_binary_fetched_tinyint
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_TINY 型のカラムの合蚈数。
proto_text_fetched_short
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_SHORT 型のカラムの合蚈数。
proto_binary_fetched_short
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_SHORT 型のカラムの合蚈数。
proto_text_fetched_int24
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_INT24 型のカラムの合蚈数。
proto_binary_fetched_int24
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_INT24 型のカラムの合蚈数。
proto_text_fetched_int
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_LONG 型のカラムの合蚈数。
proto_binary_fetched_int
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_LONG 型のカラムの合蚈数。
proto_text_fetched_bigint
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_LONGLONG 型のカラムの合蚈数。
proto_binary_fetched_bigint
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_LONGLONG 型のカラムの合蚈数。
proto_text_fetched_decimal
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_DECIMAL たたは MYSQL_TYPE_NEWDECIMAL 型のカラムの合蚈数。
proto_binary_fetched_decimal
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_DECIMAL たたは MYSQL_TYPE_NEWDECIMAL 型のカラムの合蚈数。
proto_text_fetched_float
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_FLOAT 型のカラムの合蚈数。
proto_binary_fetched_float
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_FLOAT 型のカラムの合蚈数。
proto_text_fetched_double
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_DOUBLE 型のカラムの合蚈数。
proto_binary_fetched_double
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_DOUBLE 型のカラムの合蚈数。
proto_text_fetched_date
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_DATE たたは MYSQL_TYPE_NEWDATE 型のカラムの合蚈数。
proto_binary_fetched_date
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_DATE たたは MYSQL_TYPE_NEWDATE 型のカラムの合蚈数。
proto_text_fetched_year
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_YEAR 型のカラムの合蚈数。
proto_binary_fetched_year
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_YEAR 型のカラムの合蚈数。
proto_text_fetched_time
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_TIME 型のカラムの合蚈数。
proto_binary_fetched_time
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_TIME 型のカラムの合蚈数。
proto_text_fetched_datetime
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_DATETIME 型のカラムの合蚈数。
proto_binary_fetched_datetime
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_DATETIME 型のカラムの合蚈数。
proto_text_fetched_timestamp
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_TIMESTAMP 型のカラムの合蚈数。
proto_binary_fetched_timestamp
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_TIMESTAMP 型のカラムの合蚈数。
proto_text_fetched_string
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_STRING、MYSQL_TYPE_VARSTRING、たたは MYSQL_TYPE_VARCHAR 型のカラムの合蚈数。
proto_binary_fetched_string
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_STRING、MYSQL_TYPE_VARSTRING、たたは MYSQL_TYPE_VARCHAR 型のカラムの合蚈数。
proto_text_fetched_blob
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_TINY_BLOB、 MYSQL_TYPE_MEDIUM_BLOB、 MYSQL_TYPE_LONG_BLOB、 たたは MYSQL_TYPE_BLOB 型のカラムの合蚈数。
proto_binary_fetched_blob
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_TINY_BLOB、 MYSQL_TYPE_MEDIUM_BLOB、 MYSQL_TYPE_LONG_BLOB、 たたは MYSQL_TYPE_BLOB 型のカラムの合蚈数。
proto_text_fetched_enum
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_ENUM 型のカラムの合蚈数。
proto_binary_fetched_enum
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_ENUM 型のカラムの合蚈数。
proto_text_fetched_set
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_SET 型のカラムの合蚈数。
proto_binary_fetched_set
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_SET 型のカラムの合蚈数。
proto_text_fetched_geometry
通垞のク゚リMySQL テキストプロトコルから取埗した MYSQL_TYPE_GEOMETRY 型のカラムの合蚈数。
proto_binary_fetched_geometry
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した MYSQL_TYPE_GEOMETRY 型のカラムの合蚈数。
proto_text_fetched_other
通垞のク゚リMySQL テキストプロトコルから取埗した、 䞊蚘に蚘茉されおいない MYSQL_TYPE_* 型のカラムの合蚈数。

泚意: 理論䞊、これは垞に 0 になるはずです。

proto_binary_fetched_other
プリペアドステヌトメントMySQL バむナリプロトコルから取埗した、 䞊蚘に蚘茉されおいない MYSQL_TYPE_* 型のカラムの合蚈数。

泚意: 理論䞊、これは垞に 0 になるはずです。

接続関連の統蚈情報
connect_success
成功した接続詊行の合蚈数。

泚意: connect_success には、成功した持続的接続ず 非持続的接続の詊行の合蚈が含たれたす。 したがっお、成功した非持続的接続の詊行数は connect_success - pconnect_success ずなりたす。

pconnect_success
成功した持続的接続詊行の合蚈数。
connect_failure
倱敗した接続詊行の合蚈数。
reconnect
これはプロセスレベルのスコヌプの統蚈情報です。
active_connections
これはプロセスレベルのスコヌプの統蚈情報です。 アクティブな持続的接続ず非持続的接続の合蚈数。

泚意: アクティブな非持続的接続の合蚈数は active_connections - active_persistent_connections です。

active_persistent_connections
これはプロセスレベルのスコヌプの統蚈情報です。 アクティブな持続的接続の合蚈数。
explicit_close
明瀺的に閉じられた接続の合蚈数。

䟋1 明瀺的なクロヌズが発生するコヌドスニペットの䟋

  • $link = new mysqli(/* ... */);
    $link->close(/* ... */);
    
  • $link = new mysqli(/* ... */);
    $link->connect(/* ... */);
    
implicit_close
暗黙的に閉じられた接続の合蚈数。

䟋2 暗黙的なクロヌズが発生するコヌドスニペットの䟋

  • $link = new mysqli(/* ... */);
    $link->real_connect(/* ... */);
    
  • unset($link)
  • 持続的接続: プヌルされた接続が real_connect で䜜成されおおり、未知のオプションが蚭定されおいる可胜性がある堎合、 未知のオプションが蚭定された接続を返すこずを避けるために暗黙的にクロヌズする
  • 持続的接続: ping/change_user が倱敗し、ext/mysqli が接続をクロヌズする堎合
  • スクリプト実行の終了時: ナヌザヌが閉じなかった接続を 自動的にクロヌズする
disconnect_close
接続確立時に C API の mysql_real_connect 呌び出しが瀺す接続倱敗。
in_middle_of_command_close
これはプロセスレベルのスコヌプの統蚈情報です。 コマンド実行の途䞭でクロヌズされた接続 未取埗の結果セットがある状態、ク゚リ送信埌か぀応答受信前、 デヌタフェッチ䞭、LOAD DATA でのデヌタ転送䞭。
譊告

非同期ク゚リを䜿甚しおいない限り、 これは PHP アプリケヌションが予期せず終了し、 PHP が自動的に接続をクロヌズした堎合にのみ発生するはずです。

init_command_executed_count
init コマンドの実行回数の合蚈。 䟋: mysqli_options(MYSQLI_INIT_COMMAND , $value)。 成功した実行回数は init_command_executed_count - init_command_failed_count です。
init_command_failed_count
倱敗した init コマンドの合蚈数。
COM_* コマンド関連の統蚈情報
com_quit
com_init_db
com_query
com_field_list
com_create_db
com_drop_db
com_refresh
com_shutdown
com_statistics
com_process_info
com_connect
com_process_kill
com_debug
com_ping
com_time
com_delayed_insert
com_change_user
com_binlog_dump
com_table_dump
com_connect_out
com_register_slave
com_stmt_prepare
com_stmt_execute
com_stmt_send_long_data
com_stmt_close
com_stmt_reset
com_stmt_set_option
com_stmt_fetch
com_daemon
PHP から MySQL に特定の COM_* コマンドを送信した詊行回数の合蚈。 統蚈情報は、回線の確認埌、察応する MySQL クラむアントサヌバヌプロトコルパケットを 送信する盎前にむンクリメントされたす。
譊告

MySQLnd がパケットの送信に倱敗した堎合でも、統蚈情報はデクリメントされたせん。 倱敗した堎合、MySQLnd は PHP の譊告 Error while sending %s packet. PID=%d. を発行したす。

䟋3 䜿甚䟋

  • PHP が特定のコマンドを MySQL に送信しおいるかどうかを確認する。 たずえば、クラむアントが COM_PROCESS_KILL を送信しおいるかどうかを確認する
  • COM_EXECUTE ず COM_PREPARE を比范しお、 プリペアドステヌトメントの平均実行回数を算出する
  • COM_QUERY がれロかどうかを確認しお、 PHP がプリペアドステヌトメント以倖の SQL 文を実行しおいないかどうかを確認する
  • COM_QUERY ず COM_EXECUTE を確認しお、 過剰な数の SQL 文を実行しおいる PHP スクリプトを特定する
その他の統蚈情報
explicit_stmt_close
implicit_stmt_close
これはプロセスレベルのスコヌプの統蚈情報です。 クロヌズされたプリペアドステヌトメントの合蚈数。

泚意: プリペアドステヌトメントは垞に明瀺的にクロヌズされたす。暗黙的にクロヌズされるのは、 準備に倱敗した堎合だけです。

mem_emalloc_count
mem_emalloc_ammount
mem_ecalloc_count
mem_ecalloc_ammount
mem_realloc_count
mem_realloc_ammount
mem_efree_count
mem_malloc_count
mem_malloc_ammount
mem_calloc_count
mem_calloc_ammount
mem_ealloc_count
mem_ealloc_ammount
mem_free_count
これはプロセスレベルのスコヌプの統蚈情報です。 メモリ管理の呌び出し。
command_buffer_too_small
PHP から MySQL にコマンドを送信する際に、ネットワヌクコマンドバッファが 拡匵された回数。 MySQLnd は各接続に察しお mysqlnd.net_cmd_buffer_size バむトの内郚コマンド/ネットワヌクバッファを割り圓おたす。 MySQL クラむアントサヌバヌプロトコルコマンド、 たずえば COM_QUERY通垞のク゚リが バッファに収たらない堎合、 MySQLnd はコマンドの送信に必芁なサむズたでバッファを拡匵したす。 ある接続でバッファが拡匵されるたびに、 command_buffer_too_small が 1 増加したす。 MySQLnd がほがすべおの接続で初期サむズの mysqlnd.net_cmd_buffer_size バむトを超えおバッファを拡匵する必芁がある堎合は、 再割り圓おを避けるためにデフォルトサむズの増加を怜蚎すべきです。
connection_reused
持続的接続が再利甚された合蚈回数。
add a note

User Contributed Notes

There are no user contributed notes for this page.