Submitted by yejr on 周六, 2008/09/27 - 19:32
注:本系列文章主要探讨 MySQL 内存利用以及执行计划相关的一些知识点,从而为 MySQL 优化打下更好的基础。
环境说明
OS: AS4U6, 2.6.9-67.0.15.ELsmp, 16G Ram, MD3000阵列, xfs文件系统
MySQL 5.1.26 - percona(innodb plugin, innodb stat, user stat, msl, show patch, acc-pslist 补丁)
Submitted by yejr on 周五, 2008/07/25 - 15:43
1、前言
PBXT 是 PrimeBase 公司推出的MySQL插件引擎,其功能和 InnoDB 类似,主要特性如下:
- MVCC Support:
MVCC stands for Multi-version Concurrency Control. MVCC allows reading the database without locking.
- Fully ACID complient:
This means that transactionally safe, and able to handle multiple concurrent transactions.
- Row-level locking:
When updating, PBXT uses row-level locking. Row-level locking is also used during SELECT FOR UPDATE.
- Fast Rollback and Recovery:
PBXT
uses a specialized method to identify garbage which makes "undo"
unncessary. This make both rollback of transactions and recovery after
restart very fast.
- Deadlock Detection:
PBXT identifies all kinds of deadlocks immediately.
- Write-once:
PBXT
uses a log-based storage which makes it possible to write transactional
data directly to the database, without first being writen to the
transaction log.
- Referential Integrity:
PBXT supports foreign key definitions, including cascaded updates and deletes.
- BLOB streaming:
In combination with the BLOB Streaming engine PBXT can stream binary and media directly in and out of the database.
Submitted by yejr on 周四, 2008/07/10 - 17:32
1、隔离级别为:READ COMMITTED
READ COMMITTED
一个有些象Oracle的隔离级别。所有SELECT ... FOR UPDATE和SELECT ... LOCK IN SHARE
MOD语句仅锁定索引记录,而不锁定记录前的间隙,因而允许随意紧挨着已锁定的记录插入新记录。UPDATE和DELETE语句使用一个带唯一搜索条件的唯一的索引仅锁定找到的索引记录,而不包括记录前的间隙。在范围类型UPDATE和DELETE语句,InnoDB必须对范围覆盖的间隙设置next-key锁定或间隙锁定以及其它用户做的块插入。这是很必要的,因为要让MySQL复制和恢复起作用,“幽灵行”必须被阻止掉。
Submitted by yejr on 周三, 2008/07/09 - 11:22
1、说明
硬件:
Raid 5: DELL 2950, 8G RAM, 3块SEAGATE SAS 140G 盘构成
Raid 1+0: DELL 2950, 8G RAM, 4块SEAGATE SAS 140G 盘构成
软件:
Red Hat Enterprise Linux AS release 4 (Nahant Update 6)
Linux imysql.cn 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:58:43 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
mysql 5.0.45
sysbench-0.4.8
innodb主要相关参数:
Submitted by yejr on 周二, 2008/06/17 - 14:47
假设有一个表,结构如下:
mysql> CREATE TABLE `a` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id2` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
Submitted by yejr on 周四, 2008/05/22 - 15:04
原文译自:http://www.mysqlperformanceblog.com/2006/07/17/show-innodb-status-walk-through/
很多人让我来阐述一下 SHOW INNODB STATUS 的输出信息, 了解 SHOW INNODB STATUS 都输出了些什么信息,并且我们能从这些信息中获取什么资讯,得以提高 MySQL 性能。
首先,让我们来了解一下 SHOW INNODB STATUS 输出的基础,它打印了很多关于 InnoDB 内部性能相关的计数器、统计、事务处理信息等。在 MySQL 5 中,InnoDB 的性能统计结果也在 SHOW STATUS 结果中显示了。大部分和 SHOW INNODB STATUS 的其他信息相同,在旧版本中还没有这个功能。
SHOW INNODB STATUS 中的很多统计值都是每秒更新一次的,如果你打算利用这些统计值的话,那么最好统计一段时间内的结果。InnoDB 首先输出以下信息:
Submitted by yejr on 周三, 2008/04/23 - 16:47
1. 前言
oracle 收购 innobase 后,沉寂了将近2年,innodb开发团队一直是在修改bug等,也没见到什么动作。
前几天,他们终于宣布,发布最新的innodb plugin for MySQL 5.1,这个plugin其实等同于innodb引擎,只是可以plugin的方式安装,也可以自己编译。
innodb plugin 的一些主要新特性有:
- Fast index creation: add or drop indexes without copying the data
- Data compression: shrink tables, to significantly reduce storage and i/o
- New row format: fully off-page storage of long BLOB, TEXT, and VARCHAR columns
- File format management: protects upward and downward compatibility
- INFORMATION_SCHEMA tables: information about compression and locking
-
Other changes for flexibility, ease of use and reliability
- Dynamic control of innodb_file_per_table
- TRUNCATE TABLE re-creates the *.ibd file to reclaim space
- “Strict mode” to prevent mistakes
Submitted by yejr on 周三, 2008/04/23 - 14:37
1. 安装
下载已经编译好的安装包,或者预编译安装包均可,在这里,使用预编译版本。
[@s1.yejr.com ~]# tar zxf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz
[@s1.yejr.com ~]# cd mysql-proxy-0.6.0-linux-rhas4-x86
#可以看到有2个目录
[@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# ls
sbin share
Submitted by yejr on 周五, 2008/04/04 - 21:35
4. 测试
可以通过几种方式来模拟节点当掉:关闭网卡,iptables防火墙,当然了,也可以直接关机。由于ha.cf中指定是用bcast的方式来检测节点是否连通,因此采用iptables防火墙时,还需要把广播包给禁用了。
iptables -A input -m pkttype --pkt-type broadcast -j DROP
5. 后续
Submitted by yejr on 周五, 2008/04/04 - 21:32
3. 配置
3.1. 编辑hertbeat主配置文件,2个主机上的内容一样。
[root@s1.yejr.com heartbeat-2.1.3]# vi /usr/local/etc/ha.d/ha.cf
## ha的日志文件记录位置。如没有该目录,则需要手动添加
#logfile /var/log/ha_log/ha-log.log
#logfacility local7
#debugfile /var/log/ha_log/ha-debug.log
##使用eth1做心跳监测
bcast eth1
##设定心跳(监测)时间时间为2秒
keepalive 1
warntime 3
deadtime 10
initdead 120
hopfudge 1
页面
最近评论