1
quericy 2015-03-03 00:07:15 +08:00
缓存....缓存生成和过期重取都取从库,写主库的时候更新差异部分的缓存
|
2
dugrey 2015-03-03 00:22:04 +08:00
|
3
msg7086 2015-03-03 04:02:53 +08:00 via iPhone
为什么不先研究一下为什么会延迟呢?
如果是硬盘读写跟不上,那就堆ssd。 如果是cpu不行,就加机器。 |
4
zjf789524 2015-03-03 10:11:52 +08:00
用memcache 或者 redis 做高峰时期插和查的操作 然后用任务的方式从库去读取结果集 再插入
|
5
tb4649120073rs 2015-03-03 10:38:29 +08:00
加缓存层...
缓存从数据库读取的数据和最近一段时间写入的数据。 延迟那么大说明数据库负荷太重了,找找瓶颈吧。 |
6
MasterYoda 2015-03-03 12:03:46 +08:00
正常情况下主从延迟可以为0的。
看看从库机器的负载吧,找出瓶颈。 |
7
YiSheng OP 多谢各位的支援,确实是从库的问题,瓶颈在于一条执行频率颇高的 SQL 的索引不完善,并且这张表是 MyISAM 引擎,所以 binlog 需要等待其上的查询操作完成后才可以执行,这直接导致主从延迟过高。优化完索引之后,从库的延迟时间、CPU 都降下来了。等下一波高峰时验证是否解决的够彻底!
@quericy @dugrey @msg7086 @zjf789524 @tb4649120073rs @MasterYoda |