Salat Redis: Beinhaltet die Timeout des Befehls die Wartezeit für Verbindungspool?Java

Java-Forum
Anonymous
 Salat Redis: Beinhaltet die Timeout des Befehls die Wartezeit für Verbindungspool?

Post by Anonymous »

Ich verwende LettuceConnection mit einem Verbindungspool, um meine Anwendung mit einem Redis -Server zu verbinden. Während des Lasttests stieß ich jedoch auf eine erhebliche Anzahl von Befehls -Timeout -Fehlern. Zunächst vermutete ich, dass der Redis -Server möglicherweise Schwierigkeiten hat, den hohen Verkehr zu bewältigen, aber nach der Überprüfung stellte ich fest, dass es immer noch viele verfügbare Ressourcen gab - die CPU -Nutzung lag bei etwa 5%, und die Speicherverwendung lag nur um 10%. Beinhaltet es die Zeit, die darauf gewartet wird, dass eine Verbindung aus dem Pool verfügbar ist (in diesem Fall kann die zunehmende Größe des Verbindungspools helfen), oder beginnt es erst, wenn die Anfrage an den Redis -Server gesendet wird? Ich habe die Salatdokumentation überprüft, aber es ist unklar, wie die Befehlszeitüberschreitung gemessen wird. Bitte helfen Sie mir zu verstehen. < /P>
Hier ist die Konfiguration, die ich verwendet habe. < /P>

Code: Select all

RedisStandaloneConfiguration configuration = new RedisStandaloneConfiguration("host");

GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
poolConfig.setMaxWaitMillis(50);
poolConfig.setMinIdle(2);
poolConfig.setMaxIdle(2);
poolConfig.setMaxTotal(4);

LettuceClientConfiguration client = LettucePoolingClientConfiguration.builder()
.poolConfig(poolConfig)
.commandTimeout(Duration.ofMillis(50))
.build();

return new LettuceConnectionFactory(configuration, client);

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post