mysql性能监控与调优
文章平均质量分 81
andyguo
郭振华 360资深性能测试专家 ,有7年主流互联网公司的从业经验,对服务端性能测试、移动端性能测试都有较深研究,目前主要负责团队性能测试方案设计、测试平台研发和创新技术引进等工作。目前副业做婚恋相关的项目,有单身的或者感兴趣的可以一起搞起来
展开
-
super-jacoco环境部署和使用--支持环境全量
superjacoco本身是滴滴开源出来的,但是不知道为什么,他们改造只支持了增量的覆盖率,反而把原有的全量覆盖率给搞没了~我咨询了一下开源组,貌似也没有给我这边答复,大概的意思就是,不支持全量覆盖~其实要改动的地方不多,就几行,如图~ 比较简单,也可以加一些其他判断,我就做了最简单的判断,传入的type为2的时候,做增量,其他都做全量~各位也可以按照需求改造。转载 2023-01-18 12:51:56 · 1406 阅读 · 2 评论 -
性能测试解惑之并发压力
原文: http://www.cnblogs.com/pohome/articles/2073283.html 上周跟一朋友阐述性能中并发的概念,叽里咕噜一大通,完了兴致勃勃地让她总结一下,她说了一句:感觉你研究的东西太初级,并发这种概念,太简单,没什么好说的。我听了差点没晕倒,估计她也晕了,真是失败。 并发真的这么简单?性能真的如我们所理解的那样?转载 2012-10-16 09:45:24 · 2250 阅读 · 0 评论 -
mysql调优三步曲(慢查询、explain profile)
mysql profile explain slow_query_log分析优化查询在做性能测试中经常会遇到一些sql的问题,其实做性能测试这几年遇到问题最多还是数据库这块,要么就是IO高要么就是cpu高,所以对数据的优化在性能测试过程中占据着很重要的地方,下面我就介绍一些msyql性能调优过程中经常用到的三件利器:1、慢查询 (分析出现出问题的sql)2、Explain (显示了my原创 2012-09-13 18:13:47 · 11704 阅读 · 0 评论 -
orcale数据库资料收集
电子书为网友wglzaj精心整理,这批资料下载量好评率都非常高,广受oracle学习者欢迎。文档共整理了12个精品专题和120个热门资料的下载地址,推荐给大家希望大家喜欢。目录0豆下载地址:http://down.51cto.com/data/428209目录部分预览:Oracle数据库性能优化指南大全http://down.51cto.com/zt/91转载 2012-07-16 14:07:39 · 2154 阅读 · 2 评论 -
MyISAM读写并发优化
MyISAM在读操作占主导的情况下是很高效的。可一旦出现大量的读写并发,同InnoDB相比,MyISAM的效率就会直线下降,而 且,MyISAM和InnoDB的数据存储方式也有显著不同:通常,在MyISAM里,新数据会被附加到数据文件的结尾,可如果时常做一些 UPDATE,DELETE操作之后,数据文件就不再是连续的,形象一点来说,就是数据文件里出现了很多洞洞,此时再插入新数据时,按缺省设置会先看转载 2012-05-25 14:25:37 · 5718 阅读 · 1 评论 -
mysql索引使用率监控
show status like ‘Handler_read%’; Handler_read_first 代表读取索引头的次数,如果这个值很高,说明全索引扫描很多。Handler_read_key代表一个索引被使用的次数,如果我们新增加一个索引,可以查看Handler_read_key是否有增加,如果有增加,说明sql用到索引。Handler_read_next原创 2012-05-25 10:04:30 · 4024 阅读 · 0 评论 -
mysql中索引的使用
索引是加速查询的主要手段,特别对于涉及多个表的查询更是如此。本节中,将介绍索引的作用、特点,以及创建和删除索引的语法。13.4.1 使用索引优化查询索引是快速定位数据的技术,首先通过一个示例来了解其含义及作用,详细的介绍请参考第14章。1.索引示例假设对于10.3节所建的表,各个表上都没有索引,数据的排列也没有规律,如表13.3所示。表13.3转载 2012-05-14 13:30:20 · 9686 阅读 · 1 评论 -
mysqlreport 详解
进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOW STATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOW STATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后DBA就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。这篇文章既不分析mysqlreport的报告含义,也不说明优化参考点的计算转载 2012-05-28 10:32:05 · 1871 阅读 · 0 评论 -
key_buffer_size 参数
为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。如果应用系统中使用的表以 MyISAM 存储引擎为主,则应该适当增加该参数的值,以便尽可能的缓存索引,提高访问的速度。默认情况下,所有的索引都使用相同的键高速缓存,当访问的索引不在缓存中时,使用 LRU ( Least Recently转载 2012-05-28 09:07:20 · 1113 阅读 · 0 评论 -
监控mysqlreport的shell脚本
#!/bin/bashif [ "$1" == "" ]then echo "Please input mysqld port number 21001-21007"elif ([ "$1" != "21001" ] && [ "$1" != "21002" ] && [ "$1" != "21003" ]&& [ "$1" != "21004" ] && [ "$1" !原创 2012-05-28 15:04:08 · 1386 阅读 · 0 评论 -
使用LVM快照做mysql完全备份和lvm的扩容
在规划mysql数据库时最好将数据和日志分开放到lvm分区中。使用LVM快照备份,需要将数据放在lvm分区。试验中因mysql数据不是放在lvm分区,所以先将数据移到lvm分区。1.把原来存放在普通分区的数据移至LVM中# lvcreate -n mysql_data -L 1G GLSvg –建立lvm分区# mkfs.ext3 /dev/GLSvg/mysql_data转载 2012-09-16 22:03:10 · 2827 阅读 · 0 评论 -
Mysql缓存研究
缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql。如果表更改了,那么使用这个表的所有缓存查询将不再有效,查询缓存值的相关条目被清空。更改指的是表中任何数据或是结构的改变,包括INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE等,也包括那些映射原创 2012-09-20 18:44:21 · 7037 阅读 · 2 评论 -
google开源的C++性能分析工具 - gperftools
gperftools是Google提供的一套工具,其中的一个功能是CPU profiler,用于分析程序性能,找到程序的性能瓶颈。安装gperftools:http://code.google.com/p/gperftools/downloads/listlibunwind:http://download.savannah.gnu.org/releases/libunwind/64转载 2013-04-22 16:42:21 · 3851 阅读 · 0 评论 -
mysql性能测试及不同版本的比较
I. 引言Oracle 公司发布了MySQL5.5版本,这也是该公司获得MySQL后,对MySQL的第一次升级。Oracle表示,按照内部的标准,在Linux 上,MySQL 5.5的读写速度比5.1版本提升了360%。在Windows Server机器上,这方面性能的提升超过了1500%。MySQL 5.5版本的吞吐量更高。如果真如Oracle所言,MySQL5.5相对于MySQL5.1转载 2013-03-15 22:18:27 · 1602 阅读 · 1 评论 -
MySQL性能比较测试:MySQL5.6 GA -VS- MySQL5.5
MySQL 5.6 GA 发布了,毫无疑问,这是 MySQL 最棒的一个版本。如果你还不清楚 MySQL 5.6 版本一长串的新特性和改进内容,可以从 这里 获得了解。而我这篇文章的主要目的则是性能的测试。我使用 Sysbench workloads (Read-Only/Read-Write) 来测试。下面是我的测试环境:硬件配置:服务器 : 32核 bi-thread转载 2013-03-15 22:33:22 · 1968 阅读 · 0 评论 -
性能调优攻略
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈!但转载 2013-03-29 17:10:12 · 2457 阅读 · 0 评论 -
RHEL6 Sysbench性能测试
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。本文只是简单演示一下几种测试的用法,具体的一些参数设置,需要根据不同的测试要求来进行调整。测试环境Ø DELL r310 PC Server MEM:16G RAID0:500GØ RHEL6.1 X8转载 2013-03-12 17:04:31 · 1202 阅读 · 0 评论 -
MySQL的优化步骤总结
MySQL的优化 一、我们可以且应该优化什么? 硬件 操作系统/软件库 SQL服务器(设置和查询) 应用编程接口(API) 应用程序 二、优化硬件 如果你需要庞大的数据库表(>2G),你应该考虑使用64位的硬件结构, 像Alpha、Sparc 或即将推出的IA64。因为MySQL内部使用大量64位的整数,64位的CPU将提供更好的性能。 对大数据库,优化转载 2013-03-08 15:29:07 · 2310 阅读 · 0 评论 -
sysbench-0.4.12安装和调试
wget http://nchc.dl.sourceforge.net/project/sysbench/sysbench/0.4.12/sysbench-0.4.12.tar.gzshell>tar xvf sysbench-0.4.12.tar.gz[root@localhost sysbench-0.4.12]# uname -aLinux localhost.localdoma原创 2013-03-08 17:04:35 · 3192 阅读 · 0 评论 -
利用keepalived构建双主MySQL
使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。下面,我把即将上线的一个生产环境中的架构与大家分享一下,看一下这个架构中,MySQL-HA是如何实现的,环境拓扑如下原创 2012-09-10 13:07:08 · 7950 阅读 · 1 评论 -
mysql 中explain的用法
最近在做性能测试中经常遇到一些数据库的问题,通常使用慢查询日志可以找到执行效果比较差的sql,但是仅仅找到这些sql是不行的,我们需要协助开发人员分析问题所在,这就经常用到explainexplain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了: 如:expla原创 2012-05-03 11:44:53 · 1831 阅读 · 0 评论 -
mysql 多实例启动和停止脚本
mysql 多实例启动脚本:#!/bin/bashif [ "$1" == "" ] (输入要停止的mysq端口号)then echo "Please input mysqld GNR number 110-112"(这是开启的端口号范围)elif ([ "$1" != "110" ] && [ "$1" != "111" ] && [ "$1" != "112原创 2012-03-22 10:15:49 · 3083 阅读 · 0 评论 -
慢查询日志开启和查询工具
查看慢查询是否开启:mysql> show variables like '%slow%';+---------------------+-------------------------+| Variable_name | Value原创 2011-09-06 10:16:27 · 3262 阅读 · 1 评论 -
分析mysql慢查询日志的好工具--mysqlsla
mysql数据库的慢查询日志是非常重要的一项调优辅助日志,但是mysql默认记录的日志格式阅读时不够友好,这是由mysql日志记录规则所决定的,捕获一条就记录一条,虽说记录的信息足够详尽,但如果将浏览慢查询日志做为一项日常工作,直接阅读mysql生成的慢查询日志就有可能比较低效了转载 2011-09-06 09:49:44 · 1827 阅读 · 0 评论 -
Mysql监控工具小集合
介绍一些常见的Mysql监控工具。CactiCacti是 一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的原创 2011-08-05 08:51:46 · 6670 阅读 · 0 评论 -
SQL优化的笔记
一般使用SQL的时候你是不会去想到优化。但是面对一个有SQL性能问题的数据库时,我们应该如何入手进行系统的分析,使得能够尽快定位问题SQL,并且尽快解决问题。 1.使用show status 命令了解各种SQL的执行频率 引用例如在Mysql的Cl转载 2011-08-05 08:40:27 · 898 阅读 · 0 评论 -
MySQL效能监控工具--mysqlreport
mysqlreport是由 hackmysql.com 的站长所撰写的 Perl Scritps,旨在协助 MySQL DBA 搜集与分析 MySQL 的运作状况。 官方网站: http://hackmysql.com/转载 2011-08-05 08:47:50 · 1599 阅读 · 0 评论 -
MySQL 效能监控工具--mysqlreport
MySQL 效能监控工具--mysqlreport 管理 MySQL 最让人困扰的就是如何有效的掌握 MySQL 的健康状况,因为 MySQL 虽然有提供许多系统变量值供您参考,但这些零散的数据若要手动搜集与过滤将会是一件十分没有效率的事情(除非您写 Scripts 去分析)转载 2011-08-05 08:46:39 · 1062 阅读 · 0 评论 -
用MySql的查询分析语法explain来优化查询和索引
数据库最常见的操作就是查询了,我们经常要用"SELECT"语法对已有的表进行某种检索,但是在实际应用中,查询前我们并不知道该查询会如何运行、会使用多少时间、会涉及多少字段和记录,每次输入了SQL语句,点击运行,然后慢慢等待结果的出现,好的查询语句效率很高,而有时候也会遇到查询缓慢转载 2011-08-05 08:45:27 · 1173 阅读 · 1 评论 -
MySQL何时使用索引 何时不使用索引
MySQL何时使用索引 对一个键码使用>, >=, =, SELECT * FROM table_name WHERE key_part1=1 and key_part2 > 5; SELECT * FROM table_name WHE原创 2011-08-05 08:41:39 · 4390 阅读 · 1 评论 -
sql语句学习
SQL --本周第一天 SELECT DATEADD(Day,1-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate()) --or select dateadd(wk, datediff(wk,转载 2011-08-04 18:36:55 · 1188 阅读 · 0 评论 -
MySQL配置文件my.cnf中文详解
Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。下面先说我的服务器的硬件以及论坛情况,转载 2011-09-08 11:47:11 · 1205 阅读 · 0 评论 -
MySQL数据库优化经验详谈
核心提示:同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。同时在线访问量继续转载 2011-09-08 09:43:57 · 782 阅读 · 0 评论 -
性能中的内存分析要注意的地方
昨天做了一晚上的性能,发现web服务器的性能指标都很正常,只有内存的free一直在减少而cache一直在增加,刚开始还认为这是有问题的呢,后来通过分析发现者并不算是内存的问题,而且这是正常的,所以拿来给大家分享一下:开始,先从free命令说起。free 命令相对于top提供了更简洁的查看系统内存使用情况:# free total used原创 2012-03-16 10:07:44 · 1462 阅读 · 0 评论 -
mysql多实例登陆脚本
#!/bin/bashif [ "$1" == "" ]then echo "Please input mysqld port number 21001-21006"elif ([ "$1" != "21001" ] && [ "$1" != "21002" ] && [ "$1" != "21003" ]&&[ "$1" != "21004" ] && [ "$1原创 2012-03-29 14:29:48 · 1323 阅读 · 0 评论 -
mysql多实例的一个配置文档
在修改配置之前,我们可以通过如下命令进行初始化数据库目录bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/var3306/#[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mys原创 2012-03-26 10:33:33 · 944 阅读 · 0 评论 -
mysql性能调优
1. 商业需求说明:不合理的需求导致资源的投入与产出成反比,开发人员有必要对产品提出的需求进行评估,对不影响大局或者可有可无的功能与产品进行协商,商讨是否可以放弃该功能或者适当修改功能。实例:产品提出论坛帖子总数实时更新,当前论坛情况是用户量庞大,同时帖子更新转载 2011-09-22 09:32:35 · 3644 阅读 · 0 评论 -
SQL之EXPLAIN语法
1、EXPLAIN tbl_nameEXPLAIN tbl_name是DESCRIBE tbl_name或SHOW COLUMNS FROM tbl_name的一个同义词。2、EXPLAIN [EXTENDED] SELECT select_options如果在SELEC原创 2011-08-22 10:39:43 · 11006 阅读 · 0 评论 -
mysqlreport的使用
[root@server152 mysqlreport-3.5]# ./mysqlreport -helpmysqlreport v3.5 Apr 16 2008mysqlreport makes an easy-to-read report of important M原创 2011-08-21 09:55:05 · 2072 阅读 · 0 评论 -
Redhat MysqlReport安装配置详解
一、软件包perl-DBI-1.52-1.fc6.i386.rpmDBD-mysql-4.014.tar.gzmysqlreport-3.5.zip二、安装步骤1. Rmp –ivh perl-DBI-1.52-1.fc6.i386.rpm转载 2011-08-21 10:26:56 · 2003 阅读 · 0 评论