Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Volume KV caching layer #90

Open
clintkitson opened this issue Jun 8, 2016 · 2 comments
Open

Volume KV caching layer #90

clintkitson opened this issue Jun 8, 2016 · 2 comments
Milestone

Comments

@clintkitson
Copy link
Contributor

Today all volumes that are processed travel through a filter that performs KV lookups. Doing these in the fashion that must be done can be very expensive. An idea here could be to introduce a caching layer that sits above the KV store to ensure all lookups occur from memory instead.

This is starkly different than any proposal that introduces a caching layer that would sit in front of the backend libStorage queries for authoritative storage platform information.

@clintkitson clintkitson added this to the 0.1.2 milestone Jun 8, 2016
@clintkitson
Copy link
Contributor Author

This also introduces a front end challenge where since the KV is no longer completely authoritative for Polly, then HA solutions that are coordinated at higher levels are much more important.

@dvonthenen
Copy link
Contributor

dvonthenen commented Aug 19, 2016

Added the beginnings of benchmark tests for KV store. Will need this in order to see if we are improving the performance (or not). The idea is that any insert or update you have no choice but to take the hit, so all performance testing is looking to improve queries only.

PR: #130

vonthd@Davids-MacBook-Pro:~/go/src/github.com/emccode/polly/core/store$ go test -bench=.
PASS
BenchmarkGetVolumeIDNotExist-8 20000 78343 ns/op
BenchmarkGetVolumeIDs-8 20000 88255 ns/op
BenchmarkNewVolumeMetadata-8 100 14589506 ns/op
BenchmarkUpdateVolumeMetadata-8 1000 1388182 ns/op
ok github.com/emccode/polly/core/store 8.349s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants