Improved speed of writing to disk
We have done some of our own testing to see how long things are taking to get written to disk.
We only see a small improvement approx 1.5 secs down to 1 sec. We still feel that 1 second is too long for a simple write to disk. It is difficult to determine with any confidence due to the lack of a way to monitor the actual write to disk.
Can you please tell me what order of magnitude of latency on writing to disk you are seeing ?
We don't have the ability to reliably test how long things are taking to write to disk. Hence my question of what is the expected order of magnitude of disk latency.
Could you explain more about the stats you mentioned.
We currently sleep for 3 seconds after a write before we can read from a view and expect it to refresh itself. This is what we are trying to get around !
There are many factors that affect the latency of a write including your hardware setup and the amount of load that the server is under. Since I haven't done many benchmarks in this area I will refrain from giving any estimate here. We are also improving a lot of code in this area so a good answer now might be very wrong later. What I really want to mention though is that we are adding a new command called "observe". This command will allow you to do things like say I would like to set this item, but only tell me it's done when the item has been persisted to disk. The command will also be asynchronous so it won't block any of your other requests. This should help take all of the guess work out of you application code.
With observe you can also ask for the item to be replicated, mutated, or deleted, before getting your observe response back.
There is quite a bit of work ongoing to optimize some of these paths, and there are some features coming to allow you to specify that you want to block until a change is durable at either the replication or the disk IO level. I believe use that internally to the server for prioritization as well.
Right now we write things as fast as we can and we constantly scan. We measure this with stats timings, and stats key. How are you measuring the durability? When you say you see an improvement, is this from DP2 to DP3?