使用MySQL中我经常发现mysqld的内存使用会涨的很快(Buffer Pool是大页分配的),以至于使用SWAP,到底Server层用了多少内存,没有一个监控机制。
直到今天为止,MySQL依然只支持一个Slave从一个Master复制数据,虽然也可以做到一主多备(M->S),双主复制(MM)等架构,但是局限性依然很大。
在上一篇文章里我们写了如何针对InnoDB清理空闲事务,这个功能不仅可以针对InnoDB,也可以用于所有MySQL的事务引擎。
在COMMIT/ROLLBACK语句没有传到数据库,也没有释放线程,但是线上事务锁定等待严重,连接数暴涨时,我们可以为MySQL增加一个杀掉空闲事务的功能。
在Slave中有长SQL或Locked的SQL执行时,除show processlist;外千万不要做show slave/master status以及slave stop等slave相关命令。
Linux下的malloc函数性能问题,想必大部分在Linux下写C的人都深有感受,纷纷利用内存池来改进内存分配效率。
mysqlbinlog有一个参数read-from-remote-server,可以从远程读取binlog,只要创建一个有Replication Client权限的用户即可,这就模拟了Slave IO线程的作用。
Xeon 55xx是Intel最新的Nehalem架构处理器,为了充分挖掘它的处理能力,我们做了很多的测试来尝试一些GCC的编译参数,如何获得更高的MySQL性能。