← Hyperdrive (Postgres & MySQL) / hyperdrive / concepts
Sdružování připojení
Hyperdrive udržuje fond připojení k vaší databázi. Ta jsou umístěna tak, aby byla latence pro vaše aplikace co nejnižší. Můžete nakonfigurovat počet připojení, která vaše konfigurace Hyperdrive používá k připojení ke zdrojové databázi. Díky tomu můžete velikost fondu připojení přizpůsobit kapacitě databáze a požadavkům aplikace.
Pokud váš Worker odesílá do databáze mnoho dotazů, které Hyperdrive nedokáže vyřešit z mezipaměti, může být vhodné povolit Hyperdrive vytvářet k databázi více připojení. Naopak pokud váš Worker odesílá jen málo dotazů, které skutečně potřebují dosáhnout databáze, nebo pokud vaše databáze povoluje jen malý počet připojení, můžete počet připojení, která Hyperdrive k databázi vytváří, snížit.
Všechny konfigurace mají minimálně 5 připojení, maximum pak závisí na vašem plánu Workers. Více informací najdete v limity s podrobnostmi.
Jak Hyperdrive sdružuje databázová připojení do fondu
Hyperdrive automaticky škáluje počet databázových připojení, která udržuje otevřená, v závislosti na vašem provozu a zátěži vaší databáze.
max_size parametr funguje jako měkký limit: Hyperdrive může dočasně vytvořit další připojení během síťových problémů nebo období vysokého provozu, aby zajistil vysokou dostupnost a odolnost.
Restartujte fond připojení
Hyperdrive za vás spravuje fond připojení, včetně automatické detekce a zotavení z většiny selhání databáze. Ve výjimečných případech může být potřeba fond restartovat ručně jako nouzové řešení, například poté, co selhání databáze proběhne dříve, než Hyperdrive stihne přesměrovat svá připojení na nový primární uzel.
Chcete-li provést restart, vyberte svou konfiguraci Hyperdrive v Cloudflare dashboardu a přejděte do Nastavení kartě vyberte Restartovat v části Danger zone. Restart vyžaduje Hyperdrive Admin role.
Restartováním se vyprázdní stávající fond připojení a Hyperdrive je nucen navázat nová připojení k vaší zdrojové databázi. Po restartu se Nastavení zobrazuje, kdy byla konfigurace naposledy ručně restartována.
Režim sdružování
Connection pooler Hyperdrive pracuje v transakčním režimu, kdy klient, který dotaz provádí, komunikuje po celou dobu transakce přes jedno připojení. Po dokončení transakce se připojení vrátí do fondu.
Hyperdrive podporuje SET příkazy ↗ po dobu trvání transakce nebo dotazu. Pokud například ručně vytvoříte transakci pomocí BEGIN/COMMIT, SET příkazy v rámci transakce se projeví. Dotaz, který navíc obsahuje SET příkaz (SET X; SELECT foo FROM bar;) také použije SET příkaz. Jakmile se připojení vrátí do fondu, je RESET tak, aby SET příkazy se u následujících dotazů už neuplatní.
To znamená, že jedno vyvolání Workeru může pro provedení databázových operací získat více připojení a může být nutné SET žádné konfigurace pro každý dotaz nebo transakci. Nedoporučuje se obalovat více databázových operací jedinou transakcí, aby se zachovala SET stavu. Ovlivní to výkon a škálování Hyperdrive, protože připojení nelze po dobu trvání transakce znovu použít jinými izoláty Workeru.
Hyperdrive podporuje pojmenované prepared statements, jak jsou implementovány v postgres.js a node-postgres ovladače. Pojmenované připravené příkazy (prepared statements) u jiných ovladačů mohou mít horší výkon nebo nemusí být podporovány.
Osvědčené postupy
Počty připojení můžete nakonfigurovat pomocí Cloudflare dashboardu nebo Cloudflare API. Při určování správného limitu pro váš případ použití zvažte tyto osvědčené postupy:
- Začněte konzervativně: Začněte s nižším počtem připojení a podle potřeby jej zvyšujte podle výkonu vaší aplikace.
- Sledování metrik databáze: Sledujte využití připojení a metriky výkonu vaší databáze, abyste optimalizovali počet připojení.
- Zohledněte limity databáze: Ujistěte se, že nakonfigurovaný počet připojení nepřekračuje maximální limit připojení vaší databáze.
- Zohlednění více konfigurací: Pokud máte více konfigurací Hyperdrive připojujících se ke stejné databázi, zvažte celkový počet připojení napříč všemi konfiguracemi.
Další kroky
- Další informace o Jak Hyperdrive funguje.
- Zkontrolujte Limity Hyperdrive pro váš plán Workers.
- Přečtěte si, jak Připojení k PostgreSQL z Hyperdrive.