Redis е еднонишков, но е написан на чист C, използва цикъл за събития вътре и обработва връзките асинхронно, така че броят на връзките не го влияе от много при същия брой заявки. Той е в състояние да обработва заявки по-бързо, отколкото вашето приложение може да ги генерира поради забавяне на мрежата, ruby е по-бавен от компилиран и оптимизиран C и т.н., така че не е нужно да се притеснявате, че е еднонишков.
Увеличаването на броя на връзките е от полза за едновременни заявки от различни нишки, тъй като няма нужда да се чака отговорът да бъде доставен по мрежата, за да се отключи връзката, плюс ruby може да извършва паралелни IO.
Също така можете да разберете дали пулът е твърде малък, когато времето за проверка на връзката стане по-лошо, отколкото очаквате/толерирате и съответната нишка/работник е на празен ход, докато го чака, така че сравните кода си и разгледайте добре действителните си модели на използване и поведение.
От друга страна бих посъветвал да не използвате цялото ограничение на броя на връзките, има моменти, когато може да се нуждаете от тези допълнителни връзки. Например:
- за грациозно/„нулево време на престой“ dyno рестартиране („предварително стартиране“) имате нужда от два пъти повече връзки, тъй като старите процеси все още се изпълняват известно време
- поддържайте поне една безплатна връзка за спешно отстраняване на грешки, тъй като може да искате да можете да се свържете от конзолата/директно и да видите какви данни има вътре, когато дойде някакво неочаквано голямо натоварване