表示 进入内容 3135
« 先前的 10 新的记录
Displaying posts with tag: MySQL优化 (reset)
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数据库负载很高连接数很多怎么处理

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

在MySQL数据库连接数很多,而且大多属于活跃的状态时MySQL机器基本上负载很高,属于基本上快要死去的状态了.
这时怎么办呢?

有可能两个办法.
第一先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果
非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.
处理方法: set global innodb_thread_concurrency=16;

第二: 对于连接数已经超过600或是更多的情况,可以考虑适当的限制一下连接数,让前端报一下错,也别让DB挂了.

[获取更多]
TPCC-MySQL使用手册

一、 下载工具包
Tpcc-mysql是percona基于tpcc衍生出来的产品,专用于mysql基准测试,其源码放在bazaar(Bazaar是一个分布式的版本控制系统,采用 GPL 许可协议,可运行于 Windows、GNU/Linux、UNIX 以及 Mac OS 系统之上。Bazaar 由 Canonical 公司(Ubuntu母公司)赞助)上,因此还需要先安装bazaar客户端。

使用root安装rpm包

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

然后就可以开始安装bzr客户端了:

yum install bzr 

之后,就可以开始用bzr客户端下载tpcc-mysql源码了。

cd tmp
bzr branch lp:~percona-dev/perconatools/tpcc-mysql

二、编译安装
编译非常简单

cd /tmp/tpcc-mysql/src
make

然后就会在 /tmp/tpcc-mysql 下生成 tpcc 命令行工具 tpcc_load 、 tpcc_start

三、开始加载测试数据 …

[获取更多]
[MySQL FAQ]系列-关于设置innodb buffer pool size

按照惯例,如果前端应用程序采用长连接的话,那么innodb buffer pool最高可设置为物理内存大小的80%。
不过部分在线DB由于并发连接数较高,每个线程分配的内存较多,或由于业务上升,并发事务数突然较大幅度提升,加上innodb buffer pool较大,导致了严重的内存交换(swap)发生。

鉴于此,我们建议在这些活跃度较高/并发连接数较高的在线DB服务器上,适当调低innodb buffer pool的大小(例如先调低为60%),
同时也适当调低各线程级别的内存参数,例如:tmp_table_size, sort_buffer_size等,避免因为内存交换而影响服务器性能。尤其是 tmp_table_size,不少人以为是全局变量,设置的非常大,甚至见过一个设置为 1GB 的,太吓人了。

如果绝大多数引擎是InnoDB的话,建议调低key_buffer_size到很小的值,同时可以关闭query …

[获取更多]
[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. 结果

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