sql >> Databasteknik >  >> NoSQL >> Redis

Redis-gränsen för anslutning/buffertstorlek har överskridits

Jag kunde duplicera samma problem med att buffertstorleksgränsen överskrids med ServiceStack. Koden för att göra stresstestet är här - kör 20 instanser av applikationen i minst 20 minuter. https://github.com/ServiceStack/ServiceStack.Redis/commit/b01582f9c873f375794c04d46aad400590ca5bf3

Det första felet du kan se är "Kunde inte ansluta till redis-instans" som beskrivs av Redis kan inte ansluta vid upptagen belastning, men om du utökar det inre undantaget ser du "En operation på en socket kunde inte utföras eftersom systemet saknade tillräcklig buffert utrymme eller för att en kö var full"

Mitt problem uppstod på Window7, men inte Window Server 2008 rc. Så jag börjar titta på om det var ett OS-problem. Efter att ha mailat Demis på ServiceStack kom man fram till att ServiceStack stängde uttagen korrekt. När man tittar på operativsystemet fixades problemet med att ställa in TcpTimeWaitDelay och MaxUserPort.

Fler referenser. TcpTimeWaitDelay till 45 sekunder

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

Jag justerade portintervallet till 1025-64511




  1. MongoDB $round vs $trunc:Vad är skillnaden?

  2. Vad är Hadoop Reducer Class i MapReduce?

  3. MongoDB Schema Design:Det finns alltid ett schema

  4. Hur kan jag köra kommandon i redis utan att få något svar alls?