5.8.1.1 连接探针

connection-startconnection-done探针将封闭来自 Client 端的连接,而不管该连接是通过套接字还是网络连接。

connection-start(connectionid, user, host)
connection-done(status, connectionid)

以下 D 脚本将量化并总结单个连接的平均持续时间,并提供计数,每 60 秒转储一次信息:

#!/usr/sbin/dtrace -s

mysql*:::connection-start
{
  self->start = timestamp;
}

mysql*:::connection-done
/self->start/
{
  @ = quantize(((timestamp - self->start)/1000000));
  self->start = 0;
}

tick-60s
{
  printa(@);
}

在具有大量 Client 端的服务器上执行时,您可能会看到类似以下的输出:

1  57413                        :tick-60s

           value  ------------- Distribution ------------- count
              -1 |                                         0
               0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 30011
               1 |                                         59
               2 |                                         5
               4 |                                         20
               8 |                                         29
              16 |                                         18
              32 |                                         27
              64 |                                         30
             128 |                                         11
             256 |                                         10
             512 |                                         1
            1024 |                                         6
            2048 |                                         8
            4096 |                                         9
            8192 |                                         8
           16384 |                                         2
           32768 |                                         1
           65536 |                                         1
          131072 |                                         0
          262144 |                                         1
524288 |                                         0
首页