Comments (4)
I don't think you're doing anything wrong. In this benchmark you're taking a 0 latency local scenario in which cost of network is 0, cost inside a database lookup vs. memcached lookup is a memory read, ie. identical, but overall Garner cost is higher because Garner does two lookups in memcached. Realistically your roundtrip with MongoDB should be significantly slower than two roundtrips to Memcached, but I would prove that with a production system under load - it's possible that it's not the case for something with high throughput.
from garner.
I would agree, except that I initially investigated this because of similar results from our production system (with additional network latency, presumably). I didn't trust those results because there were so many other variables possibly impacting them.
from garner.
I do think MongoDB is extremely fast, all in-memory, etc., so I am not so surprised - the assumption that memcached is somehow faster for a simple lookup probably no longer stands. I would bulk replace all garnered finds with find
and see whether that has any negative impact at all.
from garner.
I've already done that on some endpoints that I'd been chipping away at performance with, due to some benchmark tests. I'll monitor those for a bit.
from garner.
Related Issues (20)
- Inconsistency between Mongoid find and Garner::Mixins::Mongoid::Document.garnered_find HOT 3
- Can't get it to work with Grape HOT 5
- support for Sequel HOT 2
- Garner/Grape Entity issue HOT 1
- Using non-ORM bindings HOT 1
- Fix Mongoid4 dependency HOT 1
- Support ActiveRecord 4 HOT 1
- Run tests on JRuby HOT 1
- Release Next HOT 2
- Stale record retrieved via garnered_find HOT 9
- Garner.cache loses namespace options when deleting a record as block yields nil HOT 2
- SafeCacheKey + Touch doesn't pass spec/integration/mongoid_spec.rb HOT 1
- Does Garner support binding ActiveRecord models? HOT 7
- Add cache logging support
- Mongoid document proxy binding doesn't work with aliased updated_at field HOT 2
- How to cache only anonymous(non-login) request? HOT 4
- Mongo garnered_find not respecting chained criteria
- Default expires_in override global_cache_options HOT 1
- Caching the Index method HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from garner.