jedis paramètres de connexion pour la haute performance et fiabilité

Je suis en utilisant des Jedis client pour se connecter à mon serveur Redis. Voici les réglages que j'utilise pour la connexion avec les Jedis (à l'aide d'apache en commun):

JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setTestOnBorrow(true);
poolConfig.setTestOnReturn(true);
poolConfig.setMaxIdle(400);

//Tests whether connections are dead during idle periods
poolConfig.setTestWhileIdle(true);
poolConfig.setMaxTotal(400);

//configuring it for some good max value so that timeout don't occur
poolConfig.setMaxWaitMillis(120000);

Jusqu'à présent avec ces paramètres, je ne suis pas face à toutes les questions en termes de fiabilité (je peux toujours me les Jedis de connexion à chaque fois que je veux), mais je vois un certain décalage avec les Jedis performance.

Quelqu'un peut-il me suggérer quelques plus d'optimisation pour atteindre de hautes performances?

Qui est "lent" pour vous? Pourrait être un réseau d'allers-retours que vous pouvez obtenir abaissé si vous utilisez un pipeline ou de scripts lua. Redis est assez rapide, donc il ne devrait pas être. Est de votre piscine définies avec beaucoup de jedis instances? Si un trop grand nombre de composants demander simutanously pour un jedis exemple, il permet de bloquer les tâches comme il n'y a pas assez de ressources pour tous. Pouvez-vous vérifier?
Comment voulez-vous arriver au nombre de 400 ici? Quels sont les avantages et les inconvénients de l'utilisation d'un plus grand nombre? J'utilise redis pour récupérer des données régulières internes à l'aide de jedis. Les utilisateurs qui sont l'appel de la demande ne sera pas uniforme. Parfois, il peut être de 1000 requêtes par secondes et parfois 50. Ce qui devrait être l'idéal MaxTotal? Pour savoir ce que je voulais obtenir les avantages et les inconvénients.

OriginalL'auteur pjain | 2015-03-27