改善泰坦尼克号的表现

时间:2013-09-16 22:47:40

标签: redis zeromq

我指的是zeromq指南中解释的泰坦模式。有人可以解释为什么它建议不使用键值存储与读/写磁盘文件的持久性相比。引自引导:

"What I'd not recommend is storing messages in a database, not even a "fast" key/value    
store, unless you really like a specific database and don't have performance worries. You  
will pay a steep price for the abstraction, ten to a thousand times over a raw disk file."

本指南中还提供了其他建议,例如以循环缓冲方式将消息存储到磁盘文件中。但是存储消息并从redis商店检索消息会不会更快?有任何想法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

在zeromq指南中,为此模式提供的示例以非常幼稚的方式使用简单文件(使用缓冲I / O,没有任何fsync')。代理直接负责在文件系统上存储内容。因此,性能主要与VFS和文件系统缓存的效率相关联。图中没有真正的I / O.

在这种情况下,将数据存储和检索到Redis的额外跃点的成本将非常明显,尤其是如果使用同步查询/回复实现的话。

Redis作为远程键/值存储非常有效,但它无法与嵌入式存储(甚至是在文件系统缓存之上实现的存储)竞争。