Skip to content
This repository has been archived by the owner on Sep 26, 2019. It is now read-only.

Improve RocksDBQueue dequeue performance #913

Merged
merged 2 commits into from
Feb 19, 2019

Conversation

ajsutton
Copy link
Contributor

PR description

The number of in-flight world state requests was consistently below the limit primarily because it took too long to dequeue pending requests from the RocksDB queue. This modifies RocksDbQueue to use an iterator for dequeuing instead of directly using db.get.

Also adds a benchmark so dequeue performance is tracked - shows about a 10% perf improvement over the previous implementation which appears to be enough to keep in-flight world state requests at the limit.

Gives approximately a 10% perf improvement in isolation and in real-world tests allows the world state requests to actually reach the concurrent limit.
@ajsutton ajsutton merged commit c843257 into PegaSysEng:master Feb 19, 2019
@ajsutton ajsutton deleted the queue-iterator branch February 19, 2019 22:43
rain-on pushed a commit to rain-on/pantheon that referenced this pull request Feb 20, 2019
Gives approximately a 10% perf improvement in isolation and in real-world tests allows the world state requests to actually reach the concurrent limit.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants