Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3522|Odgovoriti: 2

[Vir] Preprosta primerjava Garnet predpomnilnika in Redisa, razvitega z .NET

[Kopiraj povezavo]
Objavljeno 28. 3. 2024 ob 18:00:42 | | | |
Garnet je nova vrsta oddaljenega shranjevanja predpomnilnika, ki ga je razvil Microsoft Research in ponuja več edinstvenih prednosti:

  • Garnet kot izhodišče uporablja priljubljeni RESP linijski protokol, ki omogoča uporabo Garneta iz nespremenjenih Redis odjemalcev, ki so danes na voljo v večini programskih jezikov, kot je StackExchange.Redis v C#.
  • Garnet ponuja boljšo prepustnost in razširljivost z mnogimi povezavami odjemalcev in majhnimi serijami v primerjavi s primerljivim odprtokodnim predpomnilnikom, kar prihrani stroške za velike aplikacije in storitve.
  • Garnet je pokazal izjemno nizko zakasnitev odjemalcev (običajno manj kot 300 mikrosekund pri 99,9 %) pri uporabi VM-jev Commodity Cloud (Azure) z omogočenim pospešenim TCP, kar je ključno za resnične situacije.
  • Garnet temelji na najnovejši .NET tehnologiji, je večplatformski, razširljiv in sodoben. Zasnovan je tako, da je enostaven za razvoj in razvoj, ne da bi pri tem žrtvoval zmogljivost v običajnih situacijah. Izkoristimo bogat knjižnični ekosistem .NET za razširitev API-ja in zagotavljanje odprtih možnosti optimizacije. Zaradi skrbne uporabe .NET Garnet dosega najsodobnejšo zmogljivost tako na Linuxu kot na Windows.


Odprtokodni naslov:Prijava do hiperpovezave je vidna.
Dokumentacija:Prijava do hiperpovezave je vidna.

Granat ima naslednje ključne prednosti:

  • Prepustnost strežnika (operacij na sekundo) se poveča za več velikostnih redov za majhne serije in številne odjemalske seje v primerjavi s primerljivim odprtokodnim predpomnilnikom.
  • Na običajnih oblačnih (Azure) računalnikih z omogočenim pospešenim TCP na Windows in Linux je zakasnitev na operacijo izjemno nizka (običajno manj kot 300 mikrosekund pri 99,9 %).
  • Z naraščajočim številom odjemalcev se doseže boljša razširljivost z ali brez skupinskega razširjanja odjemalcev.
  • Možnost uporabe vseh CPU/pomnilniških virov strežniškega računalnika preko ene same instance strežnika z deljenim pomnilnikom (ni potrebe po znotraj-vozliščnem gručenju).
  • Podpora za podatkovne zbirke, večje od pomnilnika, ki se presežejo na lokalne in oblačne naprave za shranjevanje.
  • Funkcije baze podatkov, kot so hitra kontrolna točka in obnova ter objava/naročnina.
  • Podpora za večvozliščno razdeljevanje hash razdelkov (Redis "cluster" način), migracijo stanj in replikacijo.
  • Dobro testirano s celovitim testnim naborom (tisoči enotnih testov proti Garnetu in njegovemu shranjevalnemu sloju Tsavorite).
  • C# kode, ki jo je enostavno razvijati in razširiti.


Garnet ne podpira vseh ukazov Redis, posebej podprtih ukazov za ogled:Prijava do hiperpovezave je vidna.
Projekt Garnet vključuje orodje Benchmark za izvajanje RESP testov z uporabo različnih odjemalcev, različnih delovnih obremenitev in različnih politik za merjenje prepustnosti, zmogljivosti in zakasnitve. Naslov:Prijava do hiperpovezave je vidna.
RESP protokol:Prijava do hiperpovezave je vidna.

Ta članek uporablja vgrajena orodja za primerjalno testiranje Redisa za preprosto testiranje, testno okolje pa je naslednje:

Test zmogljivosti Redis Benchmark
https://www.itsvse.com/thread-9645-1-1.html

predpomnilnikrazličica
RedisRedis 3.0.504 (00000000/0) 64 bit
GranatGarnet 1.0.2 64 bit; Samostojni način


Redis benchmarki

Najprej zaženite Redis predpomnilnik z ukazno vrstico z naslednjim ukazom:


Testni ukaz je naslednji:


Rezultati so naslednji:



====== SET ======
  5000000 zahtevkov zaključenih v 24,38 sekundah
  100 vzporednih odjemalcev
  3-bajtna vsebina
  Ohrani življenje: 1

0,03 % <= 1 milisekunda
0,25 % <= 2 milisekundi
2,65 % <= 3 milisekunde
16,49% <= 4 milisekunde
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 zahtevkov na sekundo

====== SE ======
  500000 zahtevkov zaključenih v 27,41 sekundah
  100 vzporednih odjemalcev
  3-bajtna vsebina
  Ohrani življenje: 1

0,03 % <= 1 milisekunda
0,19 % <= 2 milisekundi
6,44 % <= 3 milisekunde
25,82 % <= 4 milisekunde
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 zahtevkov na sekundo

Granatni testi

Ustvarite nov .NET 8 konzolni projekt in najprej uporabite naslednji ukaz na paket Microsoft.Garnet:


Koda je naslednja:


Zagonski ukaz je naslednji:


Z uporabo istega ukaza benchmark je rezultat naslednji:



====== SET ======
  5000000 zahtevkov zaključenih v 11,51 sekundah
  100 vzporednih odjemalcev
  3-bajtna vsebina
  Ohrani življenje: 1

75,51 % <= 1 milisekunda
88,24 % <= 2 milisekundi
92,04% <= 3 milisekunde
99,46 % <= 4 milisekunde
99,98 % <= 5 milisekund
99,99% <= 6 milisekund
100,00 % <= 12 milisekund
100,00 % <= 12 milisekund
43448,04 zahtevkov na sekundo

====== SE ======
  5000000 zahtevkov zaključenih v 31,50 sekundah
  100 vzporednih odjemalcev
  3-bajtna vsebina
  Ohrani življenje: 1

0,01 % <= 1 milisekunda
0,90 % <= 2 milisekundi
27,25% <= 3 milisekunde
97,65% <= 4 milisekunde
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 zahtevkov na sekundo

Zaradi orodij za testiranje, različic programske opreme, testnih parametrov itd., ki vodijo do različnih rezultatov, so testi zgolj za referenco; skozi preproste teste v tem članku je razvidno, da ima Garnet bistveno nižjo zakasnitev kot Redis.

(Konec)




Prejšnji:.NET/C# refleksijski atribut, ki ga je mogoče presojati po ničelnih tipih
Naslednji:SSE (1) uporablja ASP.NET Core kot SSE strežnik
 Najemodajalec| Objavljeno 28. 3. 2024 ob 18:01:32 |
KeyDB je popolnoma odprtokodna podatkovna baza, ki jo poganja Snap in je hitrejša alternativa Redisu. Naslov:https://docs.keydb.dev/
 Najemodajalec| Objavljeno 2025-9-3 09:36:07 |
FASTER: Hitro sočasno trajno shranjevanje ključ-vrednost in prijava v C# in C++.
        
Dokumentacija:Prijava do hiperpovezave je vidna.
Izvir:Prijava do hiperpovezave je vidna.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com