sql >> Databáze >  >> NoSQL >> Redis

Redis připojení/limit velikosti vyrovnávací paměti překročen

Byl jsem schopen duplikovat stejný problém s překročením limitu velikosti vyrovnávací paměti pomocí ServiceStack. Kód pro provedení zátěžového testování je zde – spusťte 20 instancí aplikace po dobu alespoň 20 minut. https://github.com/ServiceStack/ServiceStack.Redis/commit/b01582f9c873f375794c04d46aad400590ca5bf3

První chyba, kterou můžete vidět, je „Nelze se připojit k instanci redis“, jak popisuje Redis se nemůže připojit při zaneprázdněné zátěži, ale pokud rozšíříte vnitřní výjimku, zobrazí se „Operaci na soketu nelze provést, protože systému chybí dostatečná vyrovnávací paměť místo nebo protože byla fronta plná"

Můj problém se vyskytl na Windows7, ale ne na Windows Server 2008 rc. Takže začínám zjišťovat, jestli to nebyl problém s OS. Po odeslání e-mailu společnosti Demis na ServiceStack došlo k závěru, že ServiceStack správně zavírá zásuvky. Při pohledu na OS byl problém vyřešen s nastavením TcpTimeWaitDelay a MaxUserPort.

Více referencí. TcpTimeWaitDelay až 45 sekund

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

Upravil jsem rozsah portů na 1025-64511




  1. Jak vrátit formát data ISO v PHP pro MongoDB?

  2. MongoDB ::jsou Mongo ID jedinečná napříč sbírkami?

  3. Připojení k MongoDB 3.0 pomocí Java Spring

  4. MongoDB 2.4.1 je nyní k dispozici na ScaleGrid