php的慢速日志引起的Mysql错误问题分析

在我们的项目中,开启PHP的慢速日志(request_slowlog_timeout = 10s)是必选项,并且它也让我们发现了很多坑,解决了很多的性能问题。

昨天由于碰到了一个非常奇怪的问题,让我们不得不关闭PHP慢速日志,问题是什么呢?

问题:执行程序时,会报 2013(Lost connection to MySQL server during query)

分析:

1)在我们的后台程序中,会执行一个循环(>300次),循环中会重复执行一条SQL语句;
2)Nginx的访问日志,程式每次执行时间,都在12秒左右;
3)修改mysql连接类,query之前,执行mysql_ping也无效,问题依旧;

正当百思不得其解时,心想,关闭一下php慢速日志试试,后来的情况,可想而知,问题竟然好了....

至于神马原因,我真的不知道,求真相!

(0)

相关推荐

  • Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题

    如果需要用php的mail()函数来发送邮件,是需要服务器安装sendmail组件才能支持的,这个在php的手册中mail()函数部分也有介绍到.然后在 在Ubuntu下安装sendmail的命令: 复制代码 代码如下: sudo apt-get install sendmail 安装好之后,启动sendmail服务: 复制代码 代码如下: sudo service sendmail start 有了sendmail的支持,就可以在php中用mail()函数发送邮件了. 一般造成在php用mai

  • phpmyadmin打开很慢的解决方法

    phpmyadmin4系列通通加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序版本更新,所以当你进入phpmyadmin管理页面点击数据库的时候phpmyadmin一直在尝试连接官网从而把整个打开过程拖得很慢. 最终的解决办法是不让phpmyadmin检查更新,找到phpmyadmin目录下version_check.php文件,具体修改如下: 复制代码 代码如下: if (isset($_SESSION['cache']['vers

  • wamp服务器访问php非常缓慢的解决过程

    wamp这两天明显比以前访问要慢很多,重启了下,刚开始还有效,后来重启也没用,就在网上查了下原因,分享给需要的朋友. 可能原因1.apache  access.log文件过大 (本人就是用这个解决的) 解决方法:清空日志文件:日志路径:wamp\bin\apache\Apache2.4.4\logs\access.log ============================================================ 可能原因2.hosts文件(在网上看的,本人没有试过,

  • nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

    很多站长转到nginx+php-fpm后,饱受500,502问题困扰.当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时. php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的 复制代码 代码如下: ; The timeout for serving a single request after which a PHP backtrace will be; dumped to the 'sl

  • phpmyadmin 4+ 访问慢的解决方法

    1.修改本地化时间原理: 本地化时间格式化需要gettext支持, 假如你的环境没有开启此功能, 将会返回乱码, 影响#phpmyadmin ajax的处理. 本测试在phpmyadmin 4.0.2 php 5.5.0 环境上验证通过.修改:./libraries/Util.class.php 文件 复制代码 代码如下: # 查找return strftime($date, $timestamp);# 替换成如下代码:if(extension_loaded('gettext'))  retur

  • IIS7,IIS7.5 升级PHP5.3后站点变慢的解决方法

    大多数PHP页面实际上都是数据库驱动的,要连接数据库才能显示出来,而响应时间过长的原因便在于PHP 5.3连接数据库的方式有所改变.目前我们配置数据库信息时都类似这样的"$dbhost='localhost' ";这本身是没有问题的,只是PHP 5.3会考虑是IPv4还是IPv6,面对localhost会犹豫,因此出现响应时间过长的情况.如果你查看过服务器处理PHP的时间,你会发现处理PHP的时间很短,等待处理前的时间很长. 也就是连接数据库时本地解析 localhost 为 127.

  • PHP远程连接MYSQL数据库非常慢的解决方法

    不知道如何解决,所以把他空间所在的服务器上也装了个MYSQL,才解决问题,今天又有个这个问题,不能也在这服务器上装一个MYSQL吧,Search: PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在my.ini(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句,保存. 开始-->运行-->

  • php的慢速日志引起的Mysql错误问题分析

    在我们的项目中,开启PHP的慢速日志(request_slowlog_timeout = 10s)是必选项,并且它也让我们发现了很多坑,解决了很多的性能问题. 昨天由于碰到了一个非常奇怪的问题,让我们不得不关闭PHP慢速日志,问题是什么呢? 问题:执行程序时,会报 2013(Lost connection to MySQL server during query) 分析: 1)在我们的后台程序中,会执行一个循环(>300次),循环中会重复执行一条SQL语句: 2)Nginx的访问日志,程式每次执

  • Navicat连接MySQL错误描述分析

    本地使用Navicat连接 错误描述 2013-Lost connection to MySQL server at 'reading initial communication packet', system error:0 "Internal error/check (Not system error)" 解决方案 cd /etc/mysql/mysql.conf.d/ sudo vim mysqld.cnf 注释红框内容 重启MySQL服务 再次测试连接 环境 虚拟机版本 MyS

  • linux 后台日志 mysql 错误异常的解释(推荐)

    1.Caused by: com.MySQL.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 56,201,339 milliseconds ago.  The last packet sent successfully to the server was 56,201,339 milliseconds ago. is longer t

  • 详解grep获取MySQL错误日志信息的方法

    为方便维护MySQL,写了个脚本用以提供收集错误信息的接口.这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径. 以下是全部相关代码: #!/usr/bin/env python2.7 #-*- encoding: utf-8 -*- """ 该模块用于提取每天mysql日志中的异常或错误信息 author: xiaomo email: moxiaomomo@gmail.com """ import

  • MySQL 一则慢日志监控误报的问题分析与解决

    之前因为各种原因,有些报警没有引起重视,最近放假马上排除了一些潜在的人为原因,发现数据库的慢日志报警有些奇怪,主要表现是慢日志报警不属实,收到报警的即时通信提醒后,隔一会去数据库里面去排查,发现慢日志的性能似乎没有那么差(我设置的一个阈值是60). 排查过几次代码层面的逻辑,没有发现明显的问题,几次下来,问题依旧,这可激发了修正的念头,决定认真看看到底是什么原因. 后端使用的是基于ORM的模式,数据都存储在模型MySQL_slowlog_sql_history对应的表中. 代码层面是类似如下的逻

  • 教你如何通过日志文件恢复MySQL数据

    目录 前言 1.找到最新的 binlog 文件 2.找到我们想恢复数据在日志文件里的开始结束位置 2.1.使用时间范围 2.2.使用 position 范围 3.恢复 3.1 通过时间恢复 3.2 通过 position 恢复 总结 前言 本文将讲述怎么通过 MySql 的日志 binlog 文件进行数据恢复. 通过已备份数据 加上 binlog 文件恢复上次备份到删除之间的数据 1.找到最新的 binlog 文件 进入 mysql 命令行执行如下命令 mysql> show master st

  • MySQL错误日志与通用查询日志图文详析

    目录 MySQL日志文件系统的组成 启动错误日志 查看错误日志 删除错误日志 通用查询日志 删除通用查询日志 通用查询日志的备份 总结 MySQL日志文件系统的组成 a.错误日志:记录启动.运行或停止mysqld时出现的问题. b.通用日志:记录建立的客户端连接和执行的语句. c.更新日志:记录更改数据的语句.该日志在MySQL 5.1中已不再使用. d.二进制日志:记录所有更改数据的语句.还用于复制. e.慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的

  • 基于python实现cdn日志文件导入mysql进行分析

    目录 一.本文需求背景 二.需求落地如下 三.自定义查询 一.本文需求背景 周六日出现CDN大量请求,现需要分析其请求频次与来源,查询是否存在被攻击问题. 本文以阿里云CDN日志作为辅助查询数据,其它云平台大同小异. 系统提供的离线日志如下所示: 二.需求落地如下 日志实例如下所示: [9/Jun/2015:01:58:09 +0800] 10.10.10.10 - 1542 "-" "GET http://www.aliyun.com/index.html" 20

  • Mysql错误Cannot find or open table x/x from the internal问题解决方法

    网站事件日志出现了这个错误: 事件类型: 错误事件来源: MySQL事件种类: 无事件 ID: 100日期:  2012-8-14事件:  8:07:59用户:  N/A计算机: abcserver描述: 复制代码 代码如下: Cannot find or open table phpwind/pw_zhuanti from the internal data dictionary of InnoDB though the .frm file for the table exists. Mayb

  • MySQL慢查询分析工具pt-query-digest详解

    目录 一.简介 二.安装pt-query-digest 三.pt-query-digest语法及重要选项 四.分析pt-query-digest输出结果 五.用法示例 一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析.可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进

随机推荐