sql >> Database teknologi >  >> NoSQL >> Redis

Redis-forbindelse/bufferstørrelsesgrænse overskredet

Jeg var i stand til at duplikere det samme problem med bufferstørrelsesgrænsen overskredet ved hjælp af ServiceStack. Koden til at udføre stresstesten er her - kør 20 forekomster af applikationen i mindst 20 minutter. https://github.com/ServiceStack/ServiceStack.Redis/commit/b01582f9c873f375794c04d46aad400590ca5bf3

Den første fejl du kan se er "Kunne ikke oprette forbindelse til redis-instans" som beskrevet af Redis kunne ikke oprette forbindelse ved optaget belastning, men hvis du udvider den indre undtagelse, ser du "En operation på en socket kunne ikke udføres, fordi systemet manglede tilstrækkelig buffer plads eller fordi en kø var fuld"

Mit problem opstod på Window7, men ikke Window Server 2008 rc. Så jeg begynder at se på, om det var et OS-problem. Efter at have sendt en e-mail til Demis på ServiceStack, blev det konkluderet, at ServiceStack lukkede stikkontakterne korrekt. Når man ser på operativsystemet, blev problemet løst med indstilling af TcpTimeWaitDelay og MaxUserPort.

Flere referencer. TcpTimeWaitDelay til 45 sekunder

og MaxUserPorthttp://mashijie.blogspot.com/2009/05/change-default-setting-of-tcp-ports.html

Jeg justerede portområdet til 1025-64511




  1. Redis er tom efter opstart, selvom der er en .rdb-fil

  2. Sådan indstilles/fås Pandas dataframes ind i Redis ved hjælp af pyarrow

  3. Forespørgsel efter en række arrays i MongoDB

  4. Luk mongooses forbindelse korrekt, når du er færdig