Hacker News new | ask | show | jobs
by kscaldef 5952 days ago
"[memcached] can no longer return data fast enough for our needs, due to the way it interacts with BDb (its underlying data store)."

Does anyone know what the specific issue being alluded to here is?

3 comments

MemcacheDB periodically flushes its in-memory DB to disk, using BDb. That causes a global read/write lock for a looooong time. (This pauses BCC for 5 seconds at a time when it happens, and I only have 20 MB stored in memcachedb. To rectify this I'm moving to Redis as soon as I get a day free. Suffice it to say that if Bingo Card Creator taxes the architecture of your key/value store, you may not quite be ready for prime time.)
I may be a bit biased, but if what they want is a fast persistent cache Redis should really be a good fit.
Does Redis block when writing to disk?
No writes are asynchronous.
They're talking about memcachedb here rather than memcached.

It's memcache but with berkeleydb underneath for persistence.

http://memcachedb.org/

Yeah, that was a typo. Memcachedb just isn't fast enough. It used blocking IO when reading the disk, so if it is waiting on the disk for some data, none of the other requests can go through.