Chinaunix首页 | 论坛 | 博客
  • 博客访问: 290832
  • 博文数量: 64
  • 博客积分: 1770
  • 博客等级: 上尉
  • 技术积分: 588
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-26 18:19
文章分类

全部博文(64)

文章存档

2019年(1)

2014年(1)

2012年(1)

2011年(8)

2010年(19)

2009年(1)

2008年(1)

2007年(12)

2006年(20)

分类: Mysql/postgreSQL

2010-10-18 22:49:01


最近研究了一下dz的内存表,发现dz在高并发下内存表是一个瓶颈,很多锁等待都在这个表上。

内存表适合于一些事务过程中零时行生成的一些数据,将其存放或者销毁。内存引擎看起来很适合这样的工作

但是实际上不是这样,特别是在m-s这样的复制架构下。有时候会导致问题的出现,比如重启slave的时候,同步master的命令时候可能会找不到相关的记录而报错。那么我们应该怎么办呢?

1.用innodb替代memory引擎 innodb的并发并不比memory差,update的情况下反而更高。

2.使slave跳过memory heap表

3.重启slave的时候千万小心 按照一定的顺序来进行操作 首先dump出memory表,然后skip-error进入slave导入,然后replication。

4.可以使用skip-slave-error之类的跳过slave上的错误

以上是工作中的一些经验总结,dz论坛大并发的时候可以讲cdb_session引擎更换掉。不过记得优化innodb的buffer cache

阅读(996) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-19 16:10:26

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com