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

Jak nakonfigurovat připojení Redis s Rails 4, Puma a Sidekiq?

Redis je jednovláknový, ale napsaný v čistém C, používá uvnitř smyčku událostí a zpracovává připojení asynchronně, takže při stejném počtu požadavků jej počet připojení příliš neovlivňuje. Je schopen zpracovávat požadavky rychleji, než je vaše aplikace dokáže vygenerovat kvůli zpoždění sítě, ruby ​​je pomalejší než kompilované a optimalizované C atd., takže se nemusíte bát, že by byl jednovláknový.

Zvýšení počtu připojení je výhodné pro souběžné požadavky z různých vláken, protože není třeba čekat na doručení odpovědi přes síť, aby se připojení odemklo, navíc ruby ​​může provádět paralelní IO.

Také můžete zjistit, zda je fond příliš malý, když se časy odhlášení připojení zhorší, než očekáváte/tolerujete, a odpovídající vlákno/pracovník je nečinný, zatímco na něj čeká, takže porovnejte svůj kód a dobře se podívejte na své skutečné využití a vzorce chování.

Na druhou stranu bych nedoporučoval používat celý limit počtu připojení, jsou chvíle, kdy byste mohli potřebovat tato další připojení. Například:

  • pro ladné restarty dyno s „nulovým výpadkem“ („preboot“) potřebujete dvojnásobná připojení, protože staré procesy ještě nějakou dobu běží
  • ponechte si alespoň jedno volné připojení pro nouzové ladění, protože možná budete chtít mít možnost se připojit z konzole/přímo a zjistit, jaká data jsou uvnitř, když přijde nějaké neočekávané vysoké zatížení



  1. Nejoblíbenější databáze NoSQL podporované ClusterControl

  2. Migrace MongoDB na DynamoDB, část 1

  3. Sada replik MongoDB s jednoduchým ověřením hesla

  4. Pochopení možností zálohování MongoDB