Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3522|Odpověď: 2

[Zdroj] Jednoduché srovnání Garnet cache a Redis vyvinutého pomocí .NET

[Kopírovat odkaz]
Zveřejněno 28. 3. 2024 18:00:42 | | | |
Garnet je nový typ vzdáleného cache úložiště vyvinutý společností Microsoft Research, který nabízí několik jedinečných výhod:

  • Garnet bere jako výchozí bod populární protokol RESP line, který umožňuje používat Garnet z nemodifikovaných klientů Redis dostupných ve většině programovacích jazyků dnes, například StackExchange.Redis v C#.
  • Garnet nabízí lepší propustnost a škálovatelnost díky mnoha klientským připojením a menším dávkám ve srovnání s srovnatelným open-source cache úložištěm, což šetří náklady u velkých aplikací a služeb.
  • Garnet prokázal extrémně nízkou latenci klienta (obvykle méně než 300 mikrosekund při 99,9 %) při použití Commodity Cloud (Azure) VM s povoleným zrychleným TCP, což je klíčové pro reálné scénáře.
  • Garnet je založen na nejnovější .NET technologii, je multiplatformní, rozšiřitelný a moderní. Je navržen tak, aby byl snadno rozvíjetelný a vyvíjetelný bez obětování výkonu v běžných situacích. Využíváme bohatý knihovní ekosystém .NET k rozšíření API a poskytování otevřených optimalizačních příležitostí. Díky pečlivému používání .NET dosahuje Garnet špičkového výkonu jak na Linuxu, tak na Windows.


Open source adresa:Přihlášení k hypertextovému odkazu je viditelné.
Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.

Granát má následující klíčové výhody:

  • Propustnost serveru (operace za sekundu) je zvýšena o několik řádů u malých dávek a mnoha klientských relací ve srovnání s podobným open source cache úložištěm.
  • Na běžných cloudových (Azure) strojích s povoleným zrychleným TCP na Windows a Linuxu je latence na operaci extrémně nízká (obvykle méně než 300 mikrosekund při 99,9 %).
  • S rostoucím počtem klientů je dosaženo lepší škálovatelnosti s klientským batchováním i bez něj.
  • Možnost využívat všechny CPU/paměťové zdroje serverového počítače prostřednictvím jedné sdílené instance serveru (není potřeba shlukování uvnitř uzlů).
  • Podpora pro datové sady větší než paměť, které přetékají do místních a cloudových úložných zařízení.
  • Funkce databáze jako rychlý checkpoint a obnova a publikování/odběr.
  • Podpora víceuzlově shardovaného hash partitioningu (režim Redis "cluster"), migrace stavů a replikace.
  • Dobře testováno s komplexní testovací sadou (tisíce jednotkových testů proti Garnetu a jeho úložišti Tsavorite).
  • C# kód, který se snadno rozvíjí a rozšiřuje.


Garnet nepodporuje všechny příkazy Redis, konkrétně podporované příkazy pro zobrazení:Přihlášení k hypertextovému odkazu je viditelné.
Projekt Garnet zahrnuje nástroj Benchmark pro spouštění RESP benchmarků s využitím různých klientů, různých pracovních zátěží a různých politik pro měření propustnosti, výkonu a latence. Adresa:Přihlášení k hypertextovému odkazu je viditelné.
RESP protokol:Přihlášení k hypertextovému odkazu je viditelné.

Tento článek využívá vestavěné benchmarkovací nástroje Rejis pro jednoduché testování a testovací prostředí je následující:

Test výkonu v Redisu v benchmarku
https://www.itsvse.com/thread-9645-1-1.html

mezipaměťverze
RedisRedis 3.0.504 (00000000/0) 64 bit
GranátGarnet 1.0.2 64bit; Samostatný režim


Redis benchmarky

Nejprve spusťte cache Redis pomocí příkazového řádku s následujícím příkazem:


Testovací příkaz je následující:


Výsledky jsou následující:



====== SET ======
  5000000 požadavků dokončeno za 24,38 sekundy
  100 paralelních klientů
  3 bajty užitečného zatížení
  Udržet naživu: 1

0,03 % <= 1 milisekunda
0,25 % <= 2 milisekundy
2,65 % <= 3 milisekundy
16,49 % <= 4 milisekundy
59,95 % <= 5 milisekund
99,09 % <= 6 milisekund
99,76 % <= 7 milisekund
99,86 % <= 8 milisekund
99,93 % <= 9 milisekund
99,98 % <= 10 milisekund
99,99 % <= 11 milisekund
100,00 % <= 12 milisekund
20512,82 požadavků za sekundu

====== DOSTAT ======
  5000000 požadavků dokončeno za 27,41 sekundy
  100 paralelních klientů
  3 bajty užitečného zatížení
  Udržet naživu: 1

0,03 % <= 1 milisekunda
0,19 % <= 2 milisekundy
6,44 % <= 3 milisekundy
25,82 % <= 4 milisekundy
45,65 % <= 5 milisekund
98,79 % <= 6 milisekund
99,98 % <= 7 milisekund
99,98 % <= 8 milisekund
99,98 % <= 9 milisekund
100,00 % <= 9 milisekund
18238,86 požadavků za sekundu

Benchmarky granátů

Vytvořte nový .NET 8 konzolový projekt a nejprve odkazujte na balíček Microsoft.Garnet pomocí následujícího příkazu:


Kód je následující:


Příkaz ke spuštění je následující:


Použitím stejného příkazu benchmarku je výsledek následující:



====== SET ======
  5000000 požadavků dokončeno za 11,51 sekundy
  100 paralelních klientů
  3 bajty užitečného zatížení
  Udržet naživu: 1

75,51 % <= 1 milisekunda
88,24 % <= 2 milisekundy
92,04 % <= 3 milisekundy
99,46 % <= 4 milisekundy
99,98 % <= 5 milisekund
99,99 % <= 6 milisekund
100,00 % <= 12 milisekund
100,00 % <= 12 milisekund
43448,04 požadavků za sekundu

====== DOSTAT ======
  5000000 požadavků dokončeno za 31,50 sekundy
  100 paralelních klientů
  3 bajty užitečného zatížení
  Udržet naživu: 1

0,01 % <= 1 milisekunda
0,90 % <= 2 milisekundy
27,25 % <= 3 milisekundy
97,65 % <= 4 milisekundy
99,82 % <= 5 milisekund
99,94 % <= 6 milisekund
99,98 % <= 7 milisekund
99,98 % <= 9 milisekund
99,98 % <= 10 milisekund
99,99 % <= 11 milisekund
100,00 % <= 12 milisekund
100,00 % <= 12 milisekund
15872,01 požadavků za sekundu

Kvůli testovacím nástrojům, verzím softwaru, testovacím parametrům atd. vše vede k různým výsledkům, testy jsou pouze pro referenci, a díky jednoduchým testům v tomto článku je patrné, že Garnet má výrazně nižší latenci než Redis.

(Konec)




Předchozí:.NET/C# reflexní atribut, který lze hodnotit podle nulových typů
Další:SSE (1) používá ASP.NET Core jako SSE server
 Pronajímatel| Zveřejněno 28. 3. 2024 18:01:32 |
KeyDB je zcela open-source databáze poháněná Snapem a představuje rychlejší alternativu k Redis. Adresa:https://docs.keydb.dev/
 Pronajímatel| Zveřejněno 3. 9. 2025 09:36:07 |
FASTER: Rychlé současné trvalé ukládání a logování klíče a hodnoty v C# a C++.
        
Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.
Zdroj:Přihlášení k hypertextovému odkazu je viditelné.
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com