Tencent / phxpaxos

The Paxos library implemented in C++ that has been used in the WeChat production environment.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

如何提升写leveldb的效率?

Tachone opened this issue · comments

我们的程序使用两个paxos group,启用了checkpoint机制,机器是ssd硬盘。在写请求qps很高的情况下有时候会出现replay线程写leveldb的速度很大程度上落后于当前内存中的状态,造成checkpoint落后很多。当paxos log不断增加时, 有可能一直追不上最新的状态, 但是我们发现这种情况下磁盘的io使用率并不高, 想问下你们有没有遇到过这种情况, 或者有没有建议的优化方式?

commented

可以试下 RocksDB

commented

replay线程是从paxos log不断读取数据重放状态机,这里的性能取决于ExecuteForCheckpoint的速度,不会写leveldb. Tachone notifications@github.com 于2018年10月15日周一 上午11:40写道:

我们的程序使用两个paxos group,启用了checkpoint机制,机器是ssd硬盘。在写请求qps很高的情况下有时候会出现replay线程写leveldb的速度很大程度上落后于当前内存中的状态,造成checkpoint落后很多。当paxos log不断增加时, 有可能一直追不上最新的状态, 但是我们发现这种情况下磁盘的io使用率并不高, 想问下你们有没有遇到过这种情况, 或者有没有建议的优化方式? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#148>, or mute the thread https://github.com/notifications/unsubscribe-auth/ASn3_Pe20_IZx6VSsn4NpawHFE7TU17Eks5ulAOWgaJpZM4XbiRN .
-- Best Regards, Lynncui

是的。 我们的镜像数据存储在leveldb中, ExecuteForCheckpoint() 中做的就是把paxos log重放写进leveldb, 有什么建议的优化方式吗?

使用rocksdb 是一种可行的方法。