Membase 会阻止密钥驱逐吗?
我们使用 Memcached 一段时间了,最近开始在 AWS 中测试 Membase。我们正在具有 5GB RAM、750GB 磁盘 (Linux FC8) 的大型 EC2 实例上测试 Membase 1.6.0 的单个实例。
我们注意到,当 expiryPagerSleeptime 唤醒时,SQLite 似乎每小时都会阻止逐出清除。尽管这是预料之中的(因为 SQLite 使用数据库级锁定),但我们没想到 Membase 也会阻塞。
在这种情况下,似乎当 SQLite 删除旧键时,Membase“每秒操作数”在几分钟内下降到零或接近于零。驱逐过程完成后,Membase 服务器很快恢复。我本以为当 SQLite 被锁定时,从 Membase RAM 的读取仍然会继续进行,但情况似乎并非如此。一切都停止了;间谍客户端在等待从未到达的数据时超时,会抛出异常流。
我对文档的印象是 Membase 是异步的,并且将继续提供从 RAM 的读取服务。如果有任何帮助或建议来防止 Membase 阻止关键驱逐,我将不胜感激。这对我们来说是一个严重的问题,因为完成此驱逐过程并清除磁盘队列中的积压似乎需要大约 4 分钟。这意味着每小时,Membase 实际上会离线 4 分钟。
我还应该提到,一旦数据大于 RAM(并且磁盘上的大小不断增加),就会发生这种情况。当数据仅在 RAM 中时,我们没有注意到密钥驱逐的任何问题(大概是因为 RAM 中的密钥驱逐发生得太快而难以察觉。)
We've been using Memcached for a while and recently started testing Membase in AWS. We're testing a single instance of Membase 1.6.0 on a large EC2 instance with 5GB RAM, 750GB disk (Linux FC8).
We've noticed that SQLite seems to block on eviction purges on an hourly basis when expiryPagerSleeptime wakes up. Although this was expected (because SQLite uses database level locking), we didn't expect that Membase would block as well.
In this case, it seems that while SQLite is deleting old keys, Membase "operations per second" fall to zero or near zero for several minutes. After the eviction process has finished, the Membase server quickly recovers. I would have anticipated that reads from Membase RAM would still proceed while SQLite was locked but this doesn't seem to be the case. Everything stops; the spy clients throw streams of exceptions as they time-out waiting for data that never arrives.
My impression from the docs was that Membase was asynchronous and would continue to serve reads from RAM. I would appreciate any help or suggestions to prevent Membase from blocking on key evictions. This is a serious issue for us because it seems to take about 4 minutes for this eviction process to finish and for the backlog in the disk queue to clear. That means every hour, Membase is effectively offline for 4 minutes.
I should also mention that this happens once the data is larger than RAM (and it's increasing size on the disk). We didn't notice any issues with key eviction when the data was just in RAM (presumably because key eviction in RAM happens too quickly to be noticable.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了不重复信息,这个问题在这里得到回答和解释: http://www.couchbase.com/forums/thread/membase-blocking-key-eviction
佩里
With the desire of not duplicating information, this question is being answered and explained here: http://www.couchbase.com/forums/thread/membase-blocking-key-eviction
Perry