IronsDu / ssdb-cpp-api

ssdb client api (linux,windows)
10 stars 6 forks source link

主从模式性能问题 #1

Closed lzn993 closed 9 years ago

lzn993 commented 9 years ago

您好!平台架构采用SSDB的主从模式,计划部署如下: 主:配置非常好的机器,CPU、固态硬盘、大内存等 从:非常普通的机器,如1G内存

这种主从机器配置差别比较大的情况下,slave机器是否会影响master机器?影响有多大?master同步数据到slave时,是独立的线程吗?会不会因为slave性能不足,对master造成阻塞?

IronsDu commented 9 years ago

很抱歉,我对数据库这块不熟悉,也从来没实践过主从模式(你应该说的读写分离吧?)。 我认为: 主从机器配置相差大(导致处理能力有很大差异)的情况下,主从模式会影响应用的。 因为读不能更"即时"的读取到最新(已经写入到master的)数据。就可能对(应用的)用户产生不好的影响。 master同步数据到slave应该是采取一个单独的线程来异步的同步(写入到slave),而不能因为slave的处理能力低拖慢(阻塞)master的(接受用户的)写效率。 slave性能不足是否会对master造成影响,就看实现了。举个极端例子: 假设master需要同步(写)到slave的消息时放入自身的一个队列里, 如果slave处理能力不足(假设网络处理也很慢···当然看实现了,理论上CPU逻辑处理慢,不至于影响网络消息的收发),那么master这个队列就可能会一直增长····随着业务写入的消息越来越多,内存会越占越大, 那么就可以采用超时来进行(删除超时的同步消息请求)。 所以具体的主从同步的机制,以及设计就看作者怎么做了。 (如果你采用了某种主从同步,那么最好做测试,哦,你说的是SSDB,那么你也可以问下作者,我对SSDB不熟悉)

-----以上只是我个人的些许理解哈~~

lzn993 commented 9 years ago

非常感谢