Hello Heikki san,
I'm excited about your great work, xlog scaling. I'm looking forward to the
release of 9.4.
Please let me ask you about your performance data on the page:
http://hlinnaka.iki.fi/xloginsert-scaling/padding/
I'm worried about the big increase in max latency. Do you know the cause?
More frequent checkpoints caused by increased WAL volume thanks to enhanced
performance?
Although I'm not sure this is related to what I'm asking, the following code
fragment in WALInsertSlotAcquireOne() catched my eyes. Shouldn't the if
condition be "slotno == -1" instead of "!="? I thought this part wants to
make inserters to use another slot on the next insertion, when they fail to
acquire the slot immediately. Inserters pass slotno == -1. I'm sorry if I
misunderstood the code.
/* * If we couldn't get the slot immediately, try another slot next time. * On a system with more insertion slots than
concurrentinserters, this * causes all the inserters to eventually migrate to a slot that no-one * else is using. On a
systemwith more inserters than slots, it still * causes the inserters to be distributed quite evenly across the slots.
*/if(slotno != -1 && retry) slotToTry = (slotToTry + 1) % num_xloginsert_slots;
Regards
MauMau