mysql 分析服务_MySQL分析服务器状态_MySQL

概述

文章简单介绍了通过一些查询命令分析当前服务器的状态。

目录

概述

获取服务器整体的性能状态

SQL操作计数

总结

步骤

获取服务器整体的性能状态

首先对一个数据库服务器进行性能优化需要先知道服务器当前主要的性能问题出现在哪里,在这点sql server也是类似,sql server首先会分析当前服务器的等待类型的情况。

我们可以使用show [session|global] status命令来获取想要的信息,默认是显示当前连接的所有统计参数值,还可以直接查询information_schema数据库中的session_status表。

show status;

#或者使用

use information_schema;

select * from SESSION_STATUS;

我当前的mysql版本是5.6.21,总共查询出了341行参数。

这里有一篇文章详细分析了每一个参数值的所代表的意思:http://blog.sina.com.cn/s/blog_68baf43d0100vu2x.html

SQL操作计数

接下来我们主要分析里面的com_参数,com_参数各种SQL对数据库执行的操作。

show status like 'com_%';

#或者使用

use information_schema;

select * from SESSION_STATUS WHERE variable_name like 'com_%';

144P2001W1X0-19457.jpg

各种SQL操作计数总共有142个,不同的版本结果不一样,接下来就来测试一下,表中的alter table的当前连接的操作次数为0,现在我修改一下表看看结果。

ALTER TABLE test ADD Name CHAR(10) NOT NULL;

show status like 'com_%';

144P2001Z3120-26242.jpg

可以看到alter_table计数增加了1。

com_计数里面有几个比较重要的参数,其它的一些参数也经常用来做参考。

com_delete:执行delete操作的次数。

com_select:执行select操作的次数。

com_insert:执行insert操作的次数,对应批量插入操作无论里面循环多少次都只算一次。

com_update:执行update操作的次数。

com_commit:执行事务提交的次数。

com_rollback:执行事务回滚的次数。

上面的计数包括所有的存储引擎,有几个参数是单独针对innodb存储引擎,记录了read,inserted,updated,deleted每种操作的行数。

show status like 'innodb_rows%';

#或者使用

use information_schema;

select * from SESSION_STATUS WHERE variable_name like 'innodb_rows%';

定位效率低的SQL语句

1.可以通过慢查询日志来定位,慢查询只能查询已经执行结束的语句,如果要查询当前正发生的问题无法做到,这个方法在后面一篇文章介绍mysql日志会详细介绍。

144P2001931250-36424.jpg

由于我将慢查询的时间设为0.01秒,所以超过这个值的都会记录下来,上面的截图就是慢查询日志里面的一条SQL操作记录,记录中记录了在什么时候执行的操作,执行操作的用户信息,执行花了0.19秒,锁花了0.001秒,返回了0行,查询了1行。

2.使用show processlist命令查询当前进行线程,该命令经常用来分析当前服务器的状况。

上图中有后四个字段需要理解,其中

144P2001956250-42Q0.jpg

command:记录了当前查询的一个状态,休眠(sleep),查询(query),连接(connect)。

Time:持续的时间,单位是秒,经常会使用这个值来做分析操作。

state:当前语句的状态,这个状态值很重要,这个状态值很多,大家可以去了解一下,上图就是等待表解锁。

info:记录操作语句

3.借助第三方监控工具

总结

文章的知识点涉及的内容其实很多,这里只是简单的写了一下,包括服务器里的很多状态都是很重要的,文章只是单单拿出了SQL操作的计数来讲,其它的一些包括connections,slow_queries,innodb_data_,innodb_buffer_pool_等等都是非常有用的一些计数,由于太多这里就没有全部拿出来分析,文章中也给出了一个连接介绍了其它的一些计数的含义。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

TAG标签:状态服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apache启服务命令_Linux系统重启apache服务命令详解

Linux系统中apache是重要的一个服务,掌握基本操作尤其重要。下面由学习啦小编为大家整理了Linux系统重启apache服务命令详解,希望对大家有帮助!Linux系统重启apache服务命令详解基本的操作方法:本文假设你的apahce安装目录为/usr/local/apach…

python 接口测试 如何写配置文件_python接口自动化测试 - configparser配置文件解析器详细使用...

configparser简介ConfigParser模块已在Python 3中重命名为configparser该模块定义了ConfigParser类。 ConfigParser类实现一种基本的配置文件解析器语言,该语言提供的结构类似于 .ini 文件中的结构ini文件相关知识键值对可用 或者 : 进行分隔section 的名字是区分大…

case是java关键字吗_Java关键字

3. 程序控制语句1) break 跳出,中断break 关键字用于提前退出 for、while 或 do 循环,或者在 switch 语句中用来结束 case 块。break 总是退出最深层的 while、for、do 或 switch 语句。2) continue 继续continue 关键字用来跳转到 for、while 或 do 循环…

java 多线程 临界区_多线程编程的设计模式 临界区模式

临界区模式 Critical Section Pattern 是指在一个共享范围中只让一个线程执行的模式.它是所有其它多线程设计模式的基础,所以我首先来介绍它.把着眼点放在范围上,这个模式叫临界区模式,如果把作眼点放在执行的线程上,这个模式就叫单线程执行模式.首先我们来玩一个钻山洞的游戏,…

java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载

工作需要,要生成xml文件,所以做了个小demo分享一下。看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) {//调用 DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂DocumentBuilderFactory fact…

java 模拟qq空间登陆_java最新完美实现模拟登录QQ登录QQ空间获取说说

package com.pengliu.config;import com.pengliu.util.http.HttpService;/*** desc: 全局公共属性配置*/public class baseConfig {//项目路径public static String javaProjectPathSystem.getProperty(“user.dir“);//QQ账号public static String qqNum;//QQ密码public stati…

java 对象工厂_Java设计模式之--工厂方式

在分析工厂模式之前,我们先看看普通模式下的Java三层结构。Controller(表现层)-Service(业务层)-Dao(持久层、数据库连接层),基于此三层结构完成JavaWeb相关业务。假设我们要完成的业务是添加员工信息,先创建Dao包,创建EmpDao接口和EmpDaoFac…

mysql 5.7 io 性能 aio_深入理解MySQL的InnoDB引擎

在MySQL中的引擎一文中说了,我们在几乎所有的情况下其实用的都是InnoDB引擎,这里我们就重点再看一下这个引擎,包括他的存储结构,线程模型和数据文件。我们可以通过show engine innodb status \G;(\G只是表示输出结果纵向表格输出)…

mysql 使用场景_MySQLMHA典型使用场景

1 管理节点部署位置1.1. Dedicated Manager server and multiple MySQL (master,slaves) servers 使用专用的管理服务1 管理节点部署位置1.1. Dedicated Manager server and multiple MySQL (master,slaves) servers使用专用的管理服务器管理多组MySQL主从服务器Since MHA Mana…

mysql构建数据立方体_OLAP数据建模工具Workbench的初步使用(数据立方体的建立)

OLAP数据建模工具Workbench的初步使用(数据立方体的建立)概要:1.workbench工具简介2.workbench简单操作(附demo)3.workbench初步使用总结1.workbench工具简介OLAP,(Online Analytical Processing,联机分析处理)。从事相关工作的小伙伴,具体的…

mysql访问60s出现timeout_websocket 每60s报WsHttpUpgradeHandler.timeoutAsync

在后台连接了一个websocket连接,每60s就报如下错误,有知道这是什么情况的吗?2020-09-10 14:22:40 [Catalina-utility-1] ERROR org.apache.coyote.http11.Http11NioProtocol -Error processing async timeoutsjava.util.concurrent.Execution…

java 类 方法继承_java – 在方法重写中返回继承的类而不是超类

我有一个看起来像这样的类结构:class Parent {public Parent(int property) { /* use property */}}class Son extends Parent {public Son(int parentProperty, String sonProperty) {super(parentProperty);/* use son property */}}我想为这两个类创建构建器,以便…

python环绕文字_如何用css实现文字三面环绕图片?

html部分:DIV with content or Image in the Middle of the text Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam rhoncus nibh ipsum, nec tincidunt mauris suscipit non. Nullam euismod est in dui vehicula ornare quis non nulla. Sed ul…

java写入数组_如何在Java中将数组写入outputStream

我想通过Socket发送多个随机值.我认为数组是发送它们的最佳方式.但是我不知道如何将数组写入Socket outputStream?import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.Socket;import java.io.*;import j…

java循环1000000000_求十亿内所有质数的和,怎么做最快?

注:对知乎的公式编辑功能实在无力吐槽,用typora写的文章直接粘过来公式无法显示,只好又手工加上了全部公式,不过可能还是会有遗漏。大家可以点击这个链接 查看我的博客原文。以下是正文:第一次关注到这个问题是在做pro…

java推送Comet_使用Comet4j实现消息推送

public class NewMsgCollector extends ConnectListener implements ServletContextListener {private static final String CHANNEL "hello";public void contextInitialized(ServletContextEvent contextEvent) {//注册应用的channelCometContext context CometC…

java飞行记录器是什么_运行java飞行记录器JFR(java flight recorder)

JFR上面讲到的工具都是作为快速的查看诊断工具的。如果要深入分析问题,可以选择使用内置的Java飞行记录器:Java Mission Control。转储JFR需要三步:1. 创建一个包含了你自己配置的JFR模板文件。运行jmc, 然后Window->Flight Recording Template Manag…

java申请安卓权限_java4android (包和访问权限)

什么是Java当中的软件包?为什么要使用软件包?如何给一个类打包?//将类放置到一个包中,需要使用package“包名”//打包 编译的方法 javac -d . Test.java//出现错误:编码GBK的不可映射字符 javac -encoding UTF-8 -d . …

java圆形泳池问题_Java实现 LeetCode 778 水位上升的泳池中游泳(二分+DFS)

778. 水位上升的泳池中游泳在一个 N x N 的坐标方格 grid 中,每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度。现在开始下雨了。当时间为 t 时,此时雨水导致水池中任意位置的水位为 t 。你可以从一个平台游向四周相邻的任意一个平台&#xff0c…

python可以构建sem模型_python-分组的熊猫DataFrames:如何将scipy.stats.sem应用于它们?...

我知道我可以通过执行以下操作来应用numpy方法:dataList是DataFrames的列表(相同的列/行).testDF (concat(dataList, axis1, keysrange(len(dataList))).swaplevel(0, 1, axis1).sortlevel(axis1).groupby(level0, axis1))testDF.aggregate(numpy.mean)testDF.aggr…