From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 23 Aug 2018 23:49:36 +0300 From: Konstantin Osipov Subject: Re: [PATCH 17/18] vinyl: set quota timer period to 100 ms Message-ID: <20180823204936.GE24711@chai> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: Vladimir Davydov Cc: tarantool-patches@freelists.org List-ID: * Vladimir Davydov [18/08/16 23:03]: > Currently, it's 1 second, which is OK for calculating watermark, but > too long for throttling (think of latency of 1 seconds that would be > introduced by throttling if such timeout were used). 1) I think the timer period should self-adjust based on the amount of available quota. 2) We narrowed down the problem to throttling only. We never do anticipatory dump/compaction today. Let's design a system which swings the pendulum both ways - not only throttles the client when the load is high but performs an anticipatory dump/compaction when the load is low. See for example https://github.com/tarantool/tarantool/issues/3225 In other words, I think we should not only enable "stalls" in the timer callback when the write stream is strong, but trigger compaction when the write stream is thin. Unfortunately we do not collect read statistics per lsm as a secondary indicator of compaction priority, so we may only trigger compaction based simply on the number of levels, but never the less. -- Konstantin Osipov, Moscow, Russia, +7 903 626 22 32 http://tarantool.io - www.twitter.com/kostja_osipov