表示 进入内容 1119
« 先前的 10 新的记录
Displaying posts with tag: MySQL高级技术 (reset)
MHA 参数列表详解

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.

MHA 参数列表 Local : 指每一个配置块内部。 Local功能的参数需要放置在[server_xxx] 块下面 App : 参数作用于master/slave, 这些参数需要配置在[server_default]块的下面 Global : 作用于master/slave, Global级别的参数用于管理多组master/slave结构,可以统一化管理一些参数。 
hostname

配置MySQL服务器的机器名或是IP地址,这个配置项是必须的,而且只能配置在[server_xxx]这个块下面。
如:

参数名 是否必须 作用域 默认值 例子及说明
hostname
[获取更多]
thread pool 介绍二

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.

原来写过一个MariaDB thread pool介绍: http://www.mysqlsupport.cn/mariadb-thread-pool/

最近发现线上的数据库连接又有所增长,数据库的性能有点下降,所以又进一步的关注了一下thread pool.  大概总结如下:

Thread Pool根据系统的CPU创建出thread_pool_size(该参数不建议调整),也可以把这个参数理解为Thread Pool共分了多少Group, 每个Group里同时可以运行多少个任务由:thread_pool_oversubscribe控制,默认是3. …

[获取更多]
慢查询日志使用

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.

MySQL慢日志往往是大家定位SQL性能问题。通过慢日志分析可以调整索引使用。这是使用最多的一个功能。

目前MySQL也支持毫秒级别以下的慢日志记录,这个功能其实有很多用处,这里大概给大家讲解一下。该功能开启参数:long_query_time

通常使用这个参数的几个环境:

需要得到一个业务的所有SQL可以在测试环境中MySQL的long_query_time设置为0.000001:

set global long_query_time=0.000001;
 
flush logs;

[获取更多]
MySQL 5.6 测试之 Replication(主从复制)

MySQL 5.6测试之Replication

一、简述
MySQL 5.6版本相比以前新增了很多令人激动的特性,简要介绍见:转:MySQL 5.6新特性。性能方面已经做过测试了,详细请见:MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试。接下来继续测试其Replication(主从复制)功能,看看是否依旧能让人激动。

二、测试环境
2.1 测试环境和之前一样,详细见下图:

2.2 自动化测试脚本 MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试 文中已提及,下载地址: …

[获取更多]
MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试

一、简述
是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器。MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX 存储引擎。(摘自:http://baike.baidu.com/view/2521908.htm)
简单的说:MariaDB是MySQL的一个变种,可以作为官方MySQL版本的一个替代品,并且在一些特性上做了增强。
MariaDB的官网见:http://mariadb.org

二、测试环境
2.1 详细测试环境见下图:

2.2 自动化测试脚本例子见下:

#!/bin/sh
#export LD_LIBRARY_PATH=/usr/local/mysql/lib/ 

. ~/.bash_profile >/dev/null 2>&1

BASEDIR="/home/tpcc-mysql"
cd $BASEDIR
mkdir -p $BASEDIR/logs

exec 3>&1 4>&2 1>> tpcc.log …
[获取更多]
MySQL Cluster 7.2.7内存表和磁盘表对比测试

一、准备工作
自从2009年测试MySQL Cluster 7.0之后,就没怎么关注过它,发展实在太慢了,还有很多不靠谱的地方。前阵子退出7.2.7版本后,看了看新特性介绍,号称性能比以往版本高了很多,于是再关注并进行测试。
部署过程不多说,下载PRM包后直接安装即可。共10个节点,其中1个管理节点,其他9个节点同时作为数据和SQL节点,所有节点服务器配置图:

MySQL Cluster管理节点关键配置见下:

#
#ndb config.ini
#
[TCP DEFAULT]
SendBufferMemory=32M
ReceiveBufferMemory=32M

[NDB_MGMD DEFAULT]
PortNumber=1186
Datadir=/home/cluster/mgm

[NDB_MGMD]
NodeId=1
Hostname=x.x.x.x
LogDestination=FILE:filename=ndb_1_cluster.log,maxsize=10000000,maxfiles=6
ArbitrationRank=1

[NDBD DEFAULT]
NoOfReplicas=3 …
[获取更多]
尝试mysqlbinlog的flashback功能

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.

简介:
mysqlbinlog flashback功能是淘宝彭立勋(http://www.penglixun.com/)的一个很强劲的作品.
主要功能: 对rows格式的binlog可以进行逆向操作.delete反向生成insert, update生成反向的update,insert反向生成delete.让dba同学们也有机会简单的恢复数据.可恢复:insert, update,delete相关的操作

演示一下使用过程:

生成带有flashback mysqlbinlog 工具:

项止主页:http://mysql.taobao.org/index.php/Patch_source_code#Add_flashback_feature_for_mysqlbinlog

准备好MySQL-5.5.18的源码,这里用的Percona-MySQL-5.5.18源码

cd mysql-5.5.18 …
[获取更多]
InnoDB引擎数据表压缩特性测试

一、前言
Innodb Plugin引擎开始引入多种格式的行存储机制,目前支持:Antelope、Barracuda两种。其中Barracuda兼容Antelope格式。
另外,Innodb plugin还支持行数据压缩特性,不过前提是采用Barracuda行存储格式。
表空间启用压缩的前提是innodb表空间文件存储格式修改成:Barracuda,需要修改2个选项:
innodb_file_format = "Barracuda"
innodb_file_format_max = "Barracuda"

下面是对比测试结果
二、表空间压缩比
1. 某项目数据表压缩比
2.1 数据表tabA
压缩之前
-rw-rw---- 1 mysql mysql 19038208 Mar 21 13:59 tabA.ibd(18.1G)
压缩之后
-rw-rw---- 1 mysql mysql 9.2G Mar 21 19:11 tabA.ibd
相差:12414976 ~= 12124 MB ~= 11.83 Gb,节约49.32%

2.2 数据表tabB
压缩前
-rw-rw---- 1 mysql mysql 1.1G Mar 21 13:51 tabB.ibd

[获取更多]
[MySQL优化案例]系列 -- 经典游戏数据表拆分优化案例

1. 目的
通过对比测试,分析某数据表tabC拆分方案前后性能对比,确定拆分方案的可行性。

2. 方法
对拆分方案前后两种类型进行对比测试。
同时,每次测试中采用两种更新方式:
1. 和原来类似,对数据表所有字段的更新分多次
2. 对数据表所有字段的更新一次性完成

3. 环境
本次测试采用线上实际数据导入。tabC表共有132万行记录,全表共100G。
将所有字段重新组合,确保每个分表的实际行长度不高于8KB,拆分成3个子表,大小分别是:
tabC_1.ibd 796M
tabC_2.ibd 10.2G
tabC_3.ibd 8.4G

之后再进行全表随机更新,每轮测试都在脚本中并发调用存储过程来完成,最大10个并发进程。
每次测试之前都重启mysqld,且无其他额外压力,确保环境公平。

4. 结果

[获取更多]
表示 进入内容 1119
« 先前的 10 新的记录