Sdílet prostřednictvím


Vývoj s využitím Azure Managed Redis(Preview)

Odolnost připojení a zatížení serveru

Při vývoji klientských aplikací nezapomeňte zvážit relevantní osvědčené postupy pro odolnost připojení a správu zatížení serveru.

Zvažte více klíčů a menších hodnot.

Azure Managed Redis (Preview) funguje nejlépe s menšími hodnotami. Pokud chcete data rozdělit na více klíčů, zvažte rozdělení větších bloků dat na menší bloky dat. Další informace o ideální velikosti hodnoty najdete v tomto článku.

Velká velikost požadavku nebo odpovědi

Velké požadavky nebo odpovědi můžou způsobit vypršení časových limitů. Předpokládejme například, že hodnota časového limitu nakonfigurovaná v klientovi je 1 sekunda. Vaše aplikace vyžaduje dva klíče (například A a B) najednou (pomocí stejného fyzického síťového připojení). Většinaklientůchm Server odešle odpovědi zpět ve stejném pořadí. Pokud je odpověď "A" velká, může většinu časového limitu pro pozdější požadavky sníst.

V následujícím příkladu se požadavek "A" a "B" rychle odešlou na server. Server začne rychle odesílat odpovědi "A" a "B". Kvůli době přenosu dat musí odpověď B čekat za odpovědí A, i když server rychle odpověděl.

|-------- 1 Second Timeout (A)----------|
|-Request A-|
     |-------- 1 Second Timeout (B) ----------|
     |-Request B-|
            |- Read Response A --------|
                                       |- Read Response B-| (**TIMEOUT**)

Tento požadavek nebo odpověď je obtížné měřit. Klientský kód můžete instrumentovat ke sledování velkých požadavků a odpovědí.

Rozlišení velkých velikostí odpovědí jsou různá, ale zahrnují:

  • Optimalizujte aplikaci pro velký počet malých hodnot, a ne několik velkých hodnot.
  • Zvětšením velikosti virtuálního počítače získáte větší možnosti šířky pásma.
    • Větší šířka pásma na virtuálním počítači klienta nebo serveru může zkrátit dobu přenosu dat pro větší odpovědi.
    • Porovnejte aktuální využití sítě na obou počítačích s omezeními aktuální velikosti virtuálního počítače. Větší šířka pásma jenom na serveru nebo pouze na klientovi nemusí být dostatečná.
  • Zvyšte počet objektů připojení, které vaše aplikace používá.
    • Pomocí kruhového dotazování můžete vytvářet požadavky na různé objekty připojení.

Použití pipeliningu

Zkuste zvolit klienta Redis, který podporuje přesměrování kanálu Redis. Pipelining pomáhá efektivně využívat síť a získat nejlepší možnou propustnost.

Vyhněte se nákladným operacím

Některé operace Redis, jako je například příkaz KLÍČE , jsou nákladné a měly by se jim vyhnout. Některé důležité informace o dlouhotrvajících příkazech najdete v tématu Dlouhotrvající příkazy.

Zvolte odpovídající úroveň.

Azure Managed Redis nabízí úrovně Optimalizované pro paměť, Vyvážené, Optimalizováno pro výpočty a Optimalizováno pro Flash. Další informace o tom, jak zvolit vrstvu , najdete tady. Doporučujeme, abyste zvolili správnou úroveň a ověřili nastavení připojení. Další informace najdete v tématu Testování výkonu.

Volba vhodného režimu dostupnosti

Azure Managed Redis nabízí možnost povolit nebo zakázat konfiguraci vysoké dostupnosti. Pokud je režim vysoké dostupnosti zakázaný, data, která vaše instance AMR nereplikuje, a proto bude vaše instance Redis během údržby nedostupná. Všechna data v instanci AMR budou také ztracena v případě plánované nebo neplánované údržby. Doporučujeme zakázat vysokou dostupnost jenom pro vaše vývojové nebo testovací úlohy. Výkon instancí Redis s vysokou dostupností může být také nižší kvůli nedostatku replikace dat, což je zásadní rozdělení zatížení mezi primárním a replikačním horizontálním oddílem dat.

Klient ve stejné oblasti jako instance Redis

Vyhledejte instanci Redis a aplikaci ve stejné oblasti. Připojení k Redisu v jiné oblasti může výrazně zvýšit latenci a snížit spolehlivost.

I když se můžete připojit mimo Azure, nedoporučuje se, zejména při použití Redis k urychlení výkonu aplikace nebo databáze. Pokud používáte server Redis jako úložiště klíč/hodnota, latence nemusí být primárním problémem.

Spoléhat se na název hostitele, ne na veřejnou IP adresu

Veřejná IP adresa přiřazená vaší instanci AMR se může změnit v důsledku operace škálování nebo vylepšení back-endu. Místo explicitní veřejné IP adresy doporučujeme spoléhat na název hostitele.

Použití šifrování TLS

Azure Managed Redis ve výchozím nastavení vyžaduje šifrovanou komunikaci TLS. V současné době se podporují protokoly TLS verze 1.2 a 1.3. Pokud vaše klientská knihovna nebo nástroj nepodporuje protokol TLS, je možné povolit nešifrovaná připojení.

Monitorování využití paměti, metrik využití procesoru, připojení klientů a šířka pásma sítě

Při použití instance Azure Managed Redis v produkčním prostředí doporučujeme nastavit upozornění pro metriky Využitá paměť, Cpu, Připojení klienti. Pokud tyto metriky konzistentně překračují 75 %, zvažte škálování instance na větší paměť nebo vyšší úroveň propustnosti. Další podrobnosti najdete v tématu o tom, kdy provést škálování .

Zvažte povolení trvalosti dat nebo zálohování dat.

Redis je ve výchozím nastavení navržený pro dočasné data, což znamená, že ve výjimečných případech může dojít ke ztrátě dat v důsledku různých okolností, jako je údržba nebo výpadky. Pokud je vaše aplikace citlivá na ztrátu dat, doporučujeme povolit trvalost dat nebo pravidelné zálohování dat pomocí operace exportu dat.

Funkce trvalosti dat je navržená tak, aby automaticky poskytovala rychlý bod obnovení pro data, když mezipaměť přestane fungovat. Rychlé obnovení je možné uložením souboru RDB nebo AOF do spravovaného disku připojeného k instanci mezipaměti. Soubory trvalosti na disku nejsou přístupné uživatelům nebo je nemůžou používat žádná jiná instance AMR.

Mnoho zákazníků chce používat trvalost k pravidelnému zálohování dat v mezipaměti. Tímto způsobem nedoporučujeme používat trvalost dat. Místo toho použijte funkci importu a exportu. Kopie dat ve formátu RDB můžete exportovat přímo do zvoleného účtu úložiště a aktivovat export dat tak často, jak potřebujete. Tato exportovaná data je pak možné importovat do jakékoli instance Redis. Export je možné aktivovat z portálu nebo pomocí nástrojů rozhraní příkazového řádku, PowerShellu nebo sady SDK.

Doprovodné materiály specifické pro klientskou knihovnu

Další informace najdete v tématu Klientské knihovny Azure Managed Redis.