原文地址:https://blog.csdn.net/weixin_34381648/article/details/113340643
简述
网站数据达到一定的数量级,就会有页面卡,出现50x等各种问题,mysql服务器CPU居高不下等症状。因为sql缓慢导致php缓慢,导致超时。这个时候应该先从mysql入手。就像看病一样,要先找病根,记录慢查询日志,就是观察期,观察到迹象我们就可以对症下药了。
配置参数说明
主要靠三个参数来配置,我们用通俗的话来解释。
1、开关(不多说,关闭就不记录了)
slow_query_log
2、log存储位置(记录下来,我得知道你在哪吧,一般将它存放到mysql数据目录,也就是和你创建的数据库在同级目录)
slow_query_log_file
3、超时时间 (我得让你知道多慢我忍不了)
long_query_time
设置方法
方法一:全局变量设置
将 slow_query_log 全局变量设置为“ON”状态
mysql> set global slow_query_log='ON';
设置慢查询日志存放的位置(默认在 mysql data 目录下)
mysql> set global slow_query_log_file='slow.log';
记录超时1秒的sql语句
mysql> set global long_query_time=1;
注意:无需重启即可生效,但重启会失效。set global 改的参数是暂时的,想重启不变请配合修改mysql配置文件。
方法二:配置文件设置
修改配置文件my.cnf(Windows 下是my.ini),在[mysqld]下的下方加入
slow_query_log = ON
slow_query_log_file = slow.log
long_query_time = 1
注意:修改配置文件之后需要重启mysql服务。
查看设置后的参数
mysql> show variables like 'slow_query%';
+---------------------+----------+
| Variable_name | Value |
+---------------------+----------+
| slow_query_log | ON |
| slow_query_log_file | slow.log |
+---------------------+----------+
2 rows in set
mysql> show variables like 'long_query_time';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
1 row in set
测试生成log
mysql> select sleep(2);
从log文件中发下慢查询
# Query_time: 2.062500 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
use test;
SET timestamp=1515638101;
select sleep(2);
重新生成log文件
有时候log文件过大需要清空,直接删除log文件,本以为下次再有慢查询会自动生成文件并记录,其实并不会生成。当然重启mysql是可以生成的,但是生产环境重启mysql一定要慎重,不到万不得已不要重启mysql。在删除log文件之后,重新生成log文件需要运行 flush logs 命令。
mysql> flush logs;
Query OK, 0 rows affected
好了,mysql记录慢查询的步骤就这些了,通过记录慢的 sql 语句来开始你的优化之旅吧!
————————————————
版权声明:本文为CSDN博主「Azusa的小梓」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_34381648/article/details/113340643
来源:王韵菲 www.evget.com/article/2015/11/16/22990.html本文中,小编搜集了7个最有影响的衡量标注,让你可以不依赖日志文件来了解应用程序。现在,让我们看看这些性能指标,并了解如何查看并收集它们:1.响应时间和吞吐量根据应用程序...
package shape;abstract public class shape {abstract double getArea();}package shape;public class circle extends shape{double r=0;public circle(double r){this.r=r;}double getArea(){double s...
当Android本地表中,因为需求,需要创建表的表名中,有特殊符号,例如“&”,“-”, “+”,“%”,空格等等。如果按照正常流程的创建表语句,例如CREATE TABLE IF NOT EXISTS TestRecord*d ffsd ( id integer PRIMARY KEY AUTOINCREMENT);会直接报错,崩溃。需要添加 “”,或者‘’,让sql语句认识到...
表单查询简单查询SELECT语句查询所有字段指定所有字段:select 字段名1,字段名2,...from 表名;select * from 表名;查询指定字段select 字段名1,字段名2,...from 表名;按条件查询带关系运算符的查询SELECT 字段名1,字段名2,……FROM 表名WHERE 条件表达式;带IN关键字的查询SELECT *|字段名1,字段名2,……FROM 表名WHE...
例如,很多应用程序都有浏览用户的历史记录的功能:浏览器可以查看最近访问过的网页。视频播放器可以查看最近播放过的视频文件。Shell可以查看用户输入过的命令。要求:现在制作一个简单的猜数字游戏,添加历史记录功能,显示用户最近猜过的数字。解决方案:使用容量为n的队列存储历史记录。使用标准库中collections中的deque,它是一个双端循环队列;再使用pickle模块将历史记录存储...
其实dubbo整个框架内容并不算大,仔细看的话可能最多两天看完一遍,但是目前还是没领悟到怎么做到的扩展性,学习深度还不够~要学习dubbo源码的话,必须要拿出官方高清大图才行。这张图看起来挺复杂的样子,真正拆分之后对照源码来看会发现非常清晰、简单直观。1.如何跟进源码入口就是各种dubbo配置项的解析,都是spring namespace,可以看到dubbo jar包下ME
转载地址:https://www.cnblogs.com/zxtceq/p/7676911.html
1.进行如下设置2.将项目打包出来(任意一平台都行,本文以Windows为例)3.打包完成后才回在原项目工程中生成蓝图转换成c++的代码4.如图路径(转换后的代码路径较深所以一步一步说明)C_SourceCode是我建立UE4的项目名Intermediate文件夹内是转化后的代码WindowsNoEditor 是本文之前说的打包的是windows平台
环境安装安装软件一般有三种方式: rpm(jdk:):在线发布一个SpringBoot项目! 解压缩(tomcat):启动并通过外网访问,也就是发布网站! yum在线安装(docker):直接安装运行跑起来docker既可以! JDK安装(rpm安装)我们开发 java1、rpm下载地址Java Downloads | Oracle2、安装Java环境# 检测当前系统是否存在Java环境# 如果有的话就需要卸载# rpm -qa|grep jdk .
第1章 Hello,World作为一名开发者,我们学习一个平台的第一印象肯定都是写一个“Hello,World”。在Android上写一个“Hello,World”是很简单的,由于我们使用Eclipise IDE,它提供了ADT这么强大的插件,这样创建和管理一个项目就更简单了,可以大大缩短我们的时间。在开始之前,你应该确认你已经安装了SDK和ADT插件。本章会根据以下几个部分来讲述:
https://www.tensorflow.org/api_docs/python/tf/random/fixed_unigram_candidate_sampler上面链接是官网解释,看了一会儿感觉没看懂 跑了几个列子有点懂了。本文结合https://www.w3cschool.cn/tensorflow_python/tf_nn_fixed_unigram_candidate_...
前言:ZF网络是2013年提出的,网上有很多关于它的介绍和讲解,但是很多内容讲的不太好(个人感觉),于是花时间收集了一些资料,整理了一些比较好的文章,从头到尾把ZFNet说了一遍。一、ZFNet简介1.1 为什么起名ZFnetwork ILSVRC 2013获胜者是来自Matthew Zeiler和Rob Fergus的卷积网络。它被称为ZFNet(Zeiler&...