Can you provide some information about the infrastructure you run
Redis on? It seems that either you have a huge write spike that
overflows the kernel's write buffers, causing Redis to block on write,
or unpredictable/high latency for your disks.
Cheers,
Pieter
> --
> You received this message because you are subscribed to the Google Groups
> "Redis DB" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/redis-db/-/GiX8ReM74TsJ.
> To post to this group, send email to redi...@googlegroups.com.
> To unsubscribe from this group, send email to
> redis-db+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/redis-db?hl=en.
Jeremy
On Mon, Apr 16, 2012 at 5:06 PM, Daniel Mezzatto
>> > redis-db+u...@googlegroups.com.
>> > For more options, visit this group at
>> > http://groups.google.com/group/redis-db?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Redis DB" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/redis-db/-/nD18XTrmxMIJ.
>
> To post to this group, send email to redi...@googlegroups.com.
> To unsubscribe from this group, send email to
> redis-db+u...@googlegroups.com.
Hi Daniel,
I don't think Pieter is trying to tell this to you, what Pieter is
saying is the following: most DB systems have a fundamental rule, that
disk should be, even with fsync disabled, fast enough to accept all
the writes that clients are performing. If disk is not fast enough to
accept writes you can write to a buffer, but because you write to the
buffer more than you can write to the disk, every second, the buffer
gets bigger and bigger, and soon or later you'll have something like:
if (buffer > MAX_BUFFER) { block_and_write(); }. That is exactly what
the kernel is *already doing*. So this has nothing to do with fsync
blocking. It's a fundamental rule.
This rule is escaped only by RDB persistence, because it is not bound
to write load, this is quite an exception in the database world, but
the cost is that latest writes are lot very durable. (RDB is different
because it does not serve on disk single writes, it performs a copy of
the DB at specified periods of time, so a key "x" can be updated 1
trilion times per second but still we write it on disk every 5
minutes).
Chances are that you are using a disk that is too slow compared to the
write load you are generating.
Cheers,
Salvatore
--
Salvatore 'antirez' Sanfilippo
open source developer - VMware
http://invece.org
"We are what we repeatedly do. Excellence, therefore, is not an act,
but a habit." -- Aristotele
To view this discussion on the web visit https://groups.google.com/d/msg/redis-db/-/nD18XTrmxMIJ.
To post to this group, send email to redi...@googlegroups.com.
To unsubscribe from this group, send email to redis-db+u...@googlegroups.com.
To unsubscribe from this group, send email to redis-db+unsubscribe@googlegroups.com.
> Don't think we'll be able to upgrade the disks to faster ones...
You may want to try a different filesystem or different ext3/ext4
mount flags, they can do a pretty big difference...