Aborted_clients - xiaoboluo768/qianjinliangfang GitHub Wiki
- 针对与建立的连接发生非正常断开的情况,由于某种原因导致客户程序不能正常关闭连接的数量。如果客户不在退出之前调用mysql_close()函数,或者长时间保持连接且没有发生任何数据包,那么在wait_timeout或interactive_timeout的限制被超出时将被强制断开,或者是客户端程序在传输数据的过程中突然被终止,则这种情况会记录到该变量中,如果这个变量一直在增长,要注意你的应用对数据库的连接是否设计合理
- Communication Errors:在你打开log_warnings=2选项时(是否向错误日志写入附加的警告消息。 默认情况下启用此变量(为1),可以通过将其设置为0来禁用此变量。如果值为1,则服务器会记录有关基于语句的日志记录不安全的语句的消息。如值大于1,则新的连接尝试连接失败和某些原因导致访问拒绝的错误都将记录到错误日志中)
- 可能导致Aborted_clients状态变量增加的原因有如下几种,发生如下几种情况时,错误日志中会记录Aborted connection信息
- 客户端程序在未调用mysql_close()函数之前直接退出(有可能出现在程序员忘记写mysql_close()函数或者程序意外崩溃,或者在类似LVS+mycat架构中,应用通过mycat连接LVS的VIP,VIP路由到数据库服务器的IP,而一旦使用长连接,则如果LVS的TCP超时时间比mycat的长连接超时时间短,就会发生mycat没有正常断开连接的情况下被LVS从TCP层面断开了连接)
- 一个长时间保持的连接在wait_timeout和interactive_timeout时间限制内没有发起任何请求的,则会被server端强制断开
- 客户端程序在传输数据的过程中突然终止程序
- 客户端传输的数据包超过了max_allowed_packet设置的大小,或者查询需要使用到的内存超过了分配给mysqld的内存大小
- 在linux系统上的以太网设备驱动程序的半全双工协商有问题(不稳定或者有BUG)
- 线程库有BUG导致读取中断
- TCP/IP配置不当
- 物理层的设备有问题,如:交换机,路由器,网卡,网线
上一篇:Created_tmp_tables | 下一篇:Aborted_connects