Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3522|Odpoveď: 2

[Zdroj] Jednoduché porovnanie Garnet cache a Redis vyvinutého pomocou .NET

[Kopírovať odkaz]
Zverejnené 28. 3. 2024 o 18:00:42 | | | |
Garnet je nový typ vzdialeného cache úložiska vyvinutý spoločnosťou Microsoft Research, ktorý ponúka niekoľko jedinečných výhod:

  • Garnet berie ako východiskový bod populárny RESP line protokol, ktorý umožňuje používať Garnet z nemodifikovaných Redis klientov dostupných vo väčšine programovacích jazykov dnes, ako je StackExchange.Redis v C#.
  • Garnet ponúka lepšiu priepustnosť a škálovateľnosť s mnohými klientskými pripojeniami a malými dávkami v porovnaní s porovnateľným open-source cache úložiskom, čím šetrí náklady pre veľké aplikácie a služby.
  • Garnet preukázal extrémne nízku latenciu klienta (typicky menej ako 300 mikrosekúnd pri 99,9 %) pri použití Commodity Cloud (Azure) VM s povoleným zrýchleným TCP, čo je kľúčové pre reálne situácie.
  • Garnet je založený na najnovšej .NET technológii a je multiplatformový, rozšíriteľný a moderný. Je navrhnutý tak, aby sa ľahko rozvíjal a vyvíjal bez obetovania výkonu v bežných situáciách. Využívame bohatý knižničný ekosystém .NET na rozšírenie API a poskytovanie otvorených optimalizačných príležitostí. Vďaka starostlivému používaniu .NET dosahuje Garnet špičkový výkon na Linuxe aj Windows.


Open Source adresa:Prihlásenie na hypertextový odkaz je viditeľné.
Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.

Granát má nasledujúce kľúčové výhody:

  • Priepustnosť servera (operácie za sekundu) sa zvyšuje o niekoľko rádov veľkosti pri malých dávkach a mnohých klientskych reláciách v porovnaní s porovnateľným open source cache úložiskom.
  • Na bežných cloudových (Azure) strojoch s povoleným zrýchleným TCP na Windows a Linux je latencia na operáciu extrémne nízka (zvyčajne menej ako 300 mikrosekúnd pri 99,9 %).
  • S rastúcim počtom klientov sa dosahuje lepšia škálovateľnosť s klientovým batchovaním alebo bez neho.
  • Možnosť využívať všetky CPU/pamäťové zdroje serverového počítača prostredníctvom jednej zdieľanej pamäťovej serverovej inštancie (bez potreby zhlukovania v rámci uzla).
  • Podpora pre dátové súbory väčšie ako pamäť, ktoré pretekajú do lokálnych a cloudových úložných zariadení.
  • Funkcie databázy ako rýchly kontrolný bod a obnova a publikovanie/predplatné.
  • Podpora multi-node sharded hash partitioningu (režim Redis "cluster"), migrácie stavov a replikácie.
  • Dobre testované s komplexnou testovacou sadou (tisíce jednotkových testov proti Garnet a jeho úložisku Tsavorite).
  • C# kódová základňa, ktorú je ľahké vyvíjať a rozširovať.


Garnet nepodporuje všetky príkazy Redis, konkrétne podporované príkazy na zobrazenie:Prihlásenie na hypertextový odkaz je viditeľné.
Projekt Garnet zahŕňa nástroj Benchmark na spúšťanie RESP benchmarkov s využitím rôznych klientov, rôznych pracovných záťaží a rôznych politík na meranie priepustnosti, výkonu a latencie. Adresa:Prihlásenie na hypertextový odkaz je viditeľné.
RESP protokol:Prihlásenie na hypertextový odkaz je viditeľné.

Tento článok využíva vstavané benchmarkovacie nástroje Redis na jednoduché testovanie a testovacie prostredie je nasledovné:

Výkonnostný test Redis Benchmark
https://www.itsvse.com/thread-9645-1-1.html

vyrovnávacia pamäťverzia
RedisRedis 3.0.504 (00000000/0) 64 bit
GranátGarnet 1.0.2 64 bit; Samostatný režim


Redis benchmarky

Najprv spustite Redis cache pomocou príkazového riadku s nasledujúcim príkazom:


Testovací príkaz je nasledovný:


Výsledky sú nasledovné:



====== SET ======
  5000000 požiadaviek dokončených za 24,38 sekundy
  100 paralelných klientov
  3 bajty užitočného zaťaženia
  Udržať nažive: 1

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

====== DOSTAŤ ======
  5000000 požiadaviek dokončených za 27,41 sekundy
  100 paralelných klientov
  3 bajty užitočného zaťaženia
  Udržať nažive: 1

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

Granátové benchmarky

Vytvorte nový .NET 8 konzolový projekt a najskôr odkazujte na balík Microsoft.Garnet pomocou nasledujúceho príkazu:


Kód je nasledovný:


Príkaz na spustenie je nasledovný:


Použitím rovnakého benchmark príkazu je výsledok nasledovný:



====== SET ======
  5000000 požiadaviek dokončených za 11,51 sekundy
  100 paralelných klientov
  3 bajty užitočného zaťaženia
  Udržať nažive: 1

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

====== DOSTAŤ ======
  5000000 požiadaviek dokončených za 31,50 sekundy
  100 paralelných klientov
  3 bajty užitočného zaťaženia
  Udržať nažive: 1

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

Kvôli testovacím nástrojom, verziám softvéru, testovacím parametrom a podobne, ktoré vedú k rôznym výsledkom, testy slúžia len na referenciu, a prostredníctvom jednoduchých testov v tomto článku je vidieť, že Garnet má výrazne nižšiu latenciu ako Redis.

(Koniec)




Predchádzajúci:.NET/C# reflexný atribút, ktorý možno hodnotiť podľa nulových typov
Budúci:SSE (1) používa ASP.NET Core ako SSE server
 Prenajímateľ| Zverejnené 2024-3-28 18:01:32 |
KeyDB je úplne open-source databáza poháňaná Snapom a predstavuje rýchlejšiu alternatívu k Redis. Adresa:https://docs.keydb.dev/
 Prenajímateľ| Zverejnené 3.9.2025 09:36:07 |
FASTER: Rýchle súbežné trvalé ukladanie a prihlasovanie kľúč-hodnota v C# a C++.
        
Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.
Zdroj:Prihlásenie na hypertextový odkaz je viditeľné.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com