Add knobs for min/max Ratekeeper limit
The default has no effects.
This commit is contained in:
parent
6ee0db4932
commit
eba77d78f4
|
@ -611,9 +611,11 @@ void ServerKnobs::initialize(Randomize randomize, ClientKnobs* clientKnobs, IsSi
|
|||
init( SLOW_SMOOTHING_AMOUNT, 10.0 ); if( slowRatekeeper ) SLOW_SMOOTHING_AMOUNT = 50.0;
|
||||
init( METRIC_UPDATE_RATE, .1 ); if( slowRatekeeper ) METRIC_UPDATE_RATE = 0.5;
|
||||
init( DETAILED_METRIC_UPDATE_RATE, 5.0 );
|
||||
init (RATEKEEPER_DEFAULT_LIMIT, 1e6 ); if( randomize && BUGGIFY ) RATEKEEPER_DEFAULT_LIMIT = 0;
|
||||
init( RATEKEEPER_DEFAULT_LIMIT, 1e6 ); if( randomize && BUGGIFY ) RATEKEEPER_DEFAULT_LIMIT = 0;
|
||||
init( RATEKEEPER_LIMIT_REASON_SAMPLE_RATE, 0.1 );
|
||||
init( RATEKEEPER_PRINT_LIMIT_REASON, false ); if( randomize && BUGGIFY ) RATEKEEPER_PRINT_LIMIT_REASON = true;
|
||||
init( RATEKEEPER_MIN_RATE, 0.0 );
|
||||
init( RATEKEEPER_MAX_RATE, 1e9 );
|
||||
|
||||
bool smallStorageTarget = randomize && BUGGIFY;
|
||||
init( TARGET_BYTES_PER_STORAGE_SERVER, 1000e6 ); if( smallStorageTarget ) TARGET_BYTES_PER_STORAGE_SERVER = 3000e3;
|
||||
|
|
|
@ -550,6 +550,8 @@ public:
|
|||
double RATEKEEPER_DEFAULT_LIMIT;
|
||||
double RATEKEEPER_LIMIT_REASON_SAMPLE_RATE;
|
||||
bool RATEKEEPER_PRINT_LIMIT_REASON;
|
||||
double RATEKEEPER_MIN_RATE;
|
||||
double RATEKEEPER_MAX_RATE;
|
||||
|
||||
int64_t TARGET_BYTES_PER_STORAGE_SERVER;
|
||||
int64_t SPRING_BYTES_STORAGE_SERVER;
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "fdbserver/DataDistribution.actor.h"
|
||||
#include "fdbserver/Knobs.h"
|
||||
#include "fdbserver/Ratekeeper.h"
|
||||
#include "fdbserver/TagThrottler.h"
|
||||
#include "fdbserver/WaitFailure.h"
|
||||
|
@ -912,6 +913,11 @@ void Ratekeeper::updateRate(RatekeeperLimits* limits) {
|
|||
limits->tpsLimitMetric = std::min(limits->tpsLimit, 1e6);
|
||||
limits->reasonMetric = limitReason;
|
||||
|
||||
if (limits->priority == TransactionPriority::DEFAULT) {
|
||||
limits->tpsLimit = std::max(limits->tpsLimit, SERVER_KNOBS->RATEKEEPER_MIN_RATE);
|
||||
limits->tpsLimit = std::min(limits->tpsLimit, SERVER_KNOBS->RATEKEEPER_MAX_RATE);
|
||||
}
|
||||
|
||||
if (deterministicRandom()->random01() < 0.1) {
|
||||
const std::string& name = limits->rkUpdateEventCacheHolder.getPtr()->trackingKey;
|
||||
TraceEvent(name.c_str(), id)
|
||||
|
|
Loading…
Reference in New Issue