表示 进入内容 3139
« 先前的 10 新的记录
Displaying posts with tag: Percona (reset)
從來源的MySQL :: MariaDB的:: Percona的建築

Original Post: http://anothermysqldba.blogspot.com/2013/05/building-from-source-mysql-mariadb.html

這是可能的,在同一服務器上運行一個以上的MySQL服務器。 有時人們可能會想安裝其他版本的數據庫在同一硬件上測試的目的,以及評估。

安裝源和自定義安裝為每個數據庫比聽起來更容易一些。 我會建議檢討MySQL的沙盒,雖然第一次,因為它允許做得非常快速,方便地評估和測試。 然而,從源代碼安裝工作更好地為我的時候,我做了一些比較。 下面是我使用的過程。 我會希望打造出了未來的博客文章,有一次我與這些數據庫調整,然後配置。

[获取更多]
pt-slave-delay主动使mysql slave落后于master一段时间

pt-slave-delay主动使mysql slave落后于master一段时间

http://www.percona.com/doc/percona-toolkit/2.1/pt-slave-delay.html

root@debian:~# DATE
Mon Sep 10 12:40:28 CEST 2012
 
root@debian:~# pt-slave-delay --delay=10m u=root,p=msandbox,h=127.0.0.1,P=21983
2012-09-10T12:40:31 Reconnected TO slave
2012-09-10T12:40:31 slave running 83 seconds behind
2012-09-10T12:40:31 STOP SLAVE until 2012-09-10T12:49:08 at master POSITION mysql-bin.000001/83915317
2012-09-10T12:41:31 Reconnected TO slave
2012-09-10T12:41:31 slave stopped at master POSITION mysql-bin.000001/100072820
[...]
2012-09-10T12:49:31 START SLAVE until master 2012-09-10T12:39:08 mysql-bin.000001/83915317
2012-09-10T12:50:31 Reconnected TO slave
2012-09-10T12:50:31 slave running 672 seconds behind
2012-09-10T12:50:31 slave running 672 seconds behind at master POSITION mysql-bin.000001/233713063
 
slave1 [localhost] {msandbox} ((NONE)) > SHOW slave STATUS\G …
[获取更多]
MySQL InnoDB源码实现分析(一)

注:由于slideshare长期被墙,本PPT的新浪微盘地址是: MySQL InnoDB源码实现分析(一) 大家可以从此地址,下载并阅读。

自己动手实现Multi-Master Replication

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/diy_multi_master_replication.html

首发:http://www.mysqlops.com/2012/02/14/diy_multi_master_replication.html

直到今天为止,MySQL依然只支持一个Slave从一个Master复制数据,虽然也可以做到一主多备(M->S),双主复制(M<->M)等架构,但是局限性依然很大。

[获取更多]
一个InnoDB性能超过Oracle的调优Case

年前抽空到兄弟公司支援了一下Oracle迁移MySQL的测试,本想把MySQL调优到接近Oracle的性能即可,但经过 @何_登成 @淘宝丁奇 @淘宝褚霸 @淘伯松 诸位大牛的指导和帮助(排名不分先后,仅按第一次为此CASE而骚扰的时间排序),不断修正方案,最终获得了比Oracle更好的性能,虽然是个特殊场景,但是我觉得意义是很广泛的,值得参考,遂记录于此。
所有涉及表结构和具体业务模型的部分全部略去,也请勿咨询,不能透露,敬请谅解。

一、测试模型:

包含12张业务表,每个事务包含12个SQL,每个SQL向一张表做INSERT,做完12个SQL即完成一个事务。

用一个C API编写的程序连接MySQL,不断执行如下操作

开始事务:START TRANSACTION;
每张表插入一行:INSERT INTO xxx VALUES (val1,val2,…); #一共12次
提交事务:COMMIT; …

[获取更多]
在Server层实现Kill Idle Transaction

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/server_kill_idle_transaction.html

在上一篇文章里我们写了如何针对InnoDB清理空闲事务《如何杀掉空闲事务》,在@sleebin9 的提示下,这个功能不仅可以针对InnoDB,也可以用于所有MySQL的事务引擎。

如何在Server层实现呢,sql/sql_parse.cc的do_command()函数是个好函数,连接线程会循环调用do_command()来读取并执行命令,在do_command()函数中,会调用my_net_set_read_timeout(net, thd->variables.net_wait_timeout)来设置线程socket连接超时时间,于是在这里可以下手。

[获取更多]
如何杀掉空闲事务

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/how_to_kill_idle_trx.html

我们经常遇到一个情况,就是网络断开或程序Bug导致COMMIT/ROLLBACK语句没有传到数据库,也没有释放线程,但是线上事务锁定等待严重,连接数暴涨,尤其在测试库这种情况很多,线上也偶有发生,于是想为MySQL增加一个杀掉空闲事务的功能。

那么如何实现呢,通过MySQL Server层有很多不确定因素,最保险还是在存储引擎层实现,我们用的几乎都是InnoDB/XtraDB,所以就基于Percona来修改了,Oracle版的MySQL也可以照着修改。

需求:
1. …

[获取更多]
ICC静态编译Percona

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/icc_static_compile_percona.html

经过我的测试ICC在浮点运算,线程库和数学函数上的优势非常明显,原生SSE2指令集支持、Intel自己编写的线程库和数学函数库,性能没得说。
我用同一份运算PI值的代码在ICC和GCC下编译,提升比例达20%,实际在数据库中比较同一条超级复杂的聚合SQL,ICC提升达34%

第一步:编译安装libunwind
wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99.tar.gz
tar zxvf libunwind-0.99.tar.gz

CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS=”-O3 -no-prec-div …

[获取更多]
Percona对MySQL标准版本的改进

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/percona_vs_mysql.html

周末有空读了下Percona XtraDB对MySQL InnoDB的改进点,这里给大家分享下。

一、对可扩展性的改进:
1. 提升Buffer Pool的扩展性
InnoDB Buffer Pool一个众所周知的问题是大并发查询执行的争用,XtraDB将Buffer Pool的全局Mutex拆成了多个Mutex以减少争用。

2. 提高InnoDB IO扩展性
XtraDB增加了许多变量去调整IO到最佳状态,包括调整checkpoint、后台读写数据文件线程数等等的参数。

3. 多个回滚段

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