See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 3522|Vastuse: 2

[Allikas] Lihtne võrdlus Garnet vahemälu ja Redise vahel koos .NET-iga

[Kopeeri link]
Postitatud 2024-3-28 18:00:42 | | | |
Garnet on Microsoft Researchi poolt välja töötatud uus kaugvahemälu salvestuse tüüp, mis pakub mitmeid unikaalseid eeliseid:

  • Garnet võtab populaarse RESP-liini protokolli lähtepunktiks, mis võimaldab kasutada Garnetit muutmata Redis klientidest, mis on tänapäeval saadaval enamikus programmeerimiskeeltes, näiteks StackExchange.Redis C#-s.
  • Garnet pakub paremat läbilaskevõimet ja skaleeritavust paljude kliendiühenduste ja väikeste partiidega võrreldes võrreldava avatud lähtekoodiga vahemälusalvestusega, säästes kulusid suurte rakenduste ja teenuste jaoks.
  • Garnet demonstreeris äärmiselt madalat kliendilatentsust (tavaliselt alla 300 mikrosekundi 99,9% juures, kasutades Commodity Cloud (Azure) VM-e kiirendatud TCP-ga, mis on reaalse maailma olukordades kriitiline.
  • Garnet põhineb uusimal .NET tehnoloogial ning on platvormideülene, laiendatav ja kaasaegne. See on loodud nii, et see oleks lihtne areneda ja areneda, ilma et see ohverdaks sooritust tavapärastes olukordades. Kasutame .NET rikkalikku teekide ökosüsteemi, et laiendada API-d ja pakkuda avatud optimeerimisvõimalusi. Tänu meie hoolikale .NET kasutamisele saavutab Garnet tipptasemel jõudluse nii Linuxil kui Windowsil.


Avatud lähtekoodiga aadress:Hüperlingi sisselogimine on nähtav.
Dokumentatsioon:Hüperlingi sisselogimine on nähtav.

Garnetil on järgmised peamised eelised:

  • Serveri läbilaskevõime (operatsioonid sekundis) suureneb mitme suurusjärku võrra väikeste partiide ja paljude kliendisessioonide puhul võrreldes võrreldava avatud lähtekoodiga vahemälusalvestusega.
  • Tavaliste pilvede (Azure) masinatel, kus kiirendatud TCP on lubatud Windowsis ja Linuxis, on latentsus operatsiooni kohta äärmiselt madal (tavaliselt alla 300 mikrosekundi 99,9% juures).
  • Kuna klientide arv kasvab, saavutatakse parem skaleeritavus nii klientide partiimise kui ka ilma.
  • Võimalus kasutada kõiki serveriarvuti protsessori/mäluressursse ühe jagatud mäluserveri instantsi kaudu (pole vaja sõlmesiseseid klasterdamisi).
  • Toetus mälust suurematele andmekogumitele, mis ülevoolavad kohapealsetesse ja pilvesalvestusseadmetesse.
  • Andmebaasi funktsioonid nagu kiire kontrollpunkt ja taastamine ning avaldamine/tellimine.
  • Toetus mitme sõlme killustatud räsi partitsioneerimisele (Redis "klastri" režiim), olekumigratsioonile ja replikatsioonile.
  • Hästi testitud põhjaliku testikomplektiga (tuhanded üksustestid Garneti ja selle salvestustaseme Tsavorite'i vastu).
  • C# koodibaas, mida on lihtne arendada ja laiendada.


Garnet ei toeta kõiki Redis käske, vaid spetsiaalselt käske, et vaadata:Hüperlingi sisselogimine on nähtav.
Garneti projekt sisaldab Benchmark-tööriista RESP-testide käivitamiseks erinevate klientide, erinevate töökoormuste ja poliitikate abil, et mõõta läbilaskevõimet, jõudlust ja latentsust. Aadress:Hüperlingi sisselogimine on nähtav.
RESP protokoll:Hüperlingi sisselogimine on nähtav.

See artikkel kasutab Redis'i sisseehitatud võrdlustööriistu lihtsaks testimiseks ning testikeskkond on järgmine:

Redis Benchmarki jõudlustest
https://www.itsvse.com/thread-9645-1-1.html

Vahemäluversioon
RedisRedis 3.0.504 (00000000/0) 64-bitine
GranaatGarnet 1.0.2 64-bitine; Iseseisev režiim


Redis võrdlusindeksid

Esiteks käivita Redis vahemälu käsurea abil järgmise käsuga:


Testikäsk on järgmine:


Tulemused on järgmised:



====== SEADISTA ======
  500000 päringut lõpetatud 24,38 sekundiga
  100 paralleelklienti
  3 baidi kasulik koormus
  hoida elus: 1

0,03% <= 1 millisekund
0,25% <= 2 millisekundit
2,65% <= 3 millisekundit
16,49% <= 4 millisekundit
59,95% <= 5 millisekundit
99,09% <= 6 millisekundit
99,76% <= 7 millisekundit
99,86% <= 8 millisekundit
99,93% <= 9 millisekundit
99,98% <= 10 millisekundit
99,99% <= 11 millisekundit
100,00% <= 12 millisekundit
20512.82 päringut sekundis

====== SAA ======
  500000 taotlust lõpetatud 27,41 sekundiga
  100 paralleelklienti
  3 baidi kasulik koormus
  hoida elus: 1

0,03% <= 1 millisekund
0,19% <= 2 millisekundit
6,44% <= 3 millisekundit
25,82% <= 4 millisekundit
45,65% <= 5 millisekundit
98,79% <= 6 millisekundit
99,98% <= 7 millisekundit
99,98% <= 8 millisekundit
99,98% <= 9 millisekundit
100,00% <= 9 millisekundit
18238.86 taotlust sekundis

Garneti võrdluspunktid

Loo uus .NET 8 konsooliprojekt ja viita esmalt Microsoft.Garnet paketile järgmise käsuga:


Kood on järgmine:


Käivituskäsk on järgmine:


Kasutades sama võrdluskäsu, on tulemus järgmine:



====== SEADISTA ======
  500000 taotlust lõpetatud 11,51 sekundiga
  100 paralleelklienti
  3 baidi kasulik koormus
  hoida elus: 1

75,51% <= 1 millisekund
88,24% <= 2 millisekundit
92,04% <= 3 millisekundit
99,46% <= 4 millisekundit
99,98% <= 5 millisekundit
99,99% <= 6 millisekundit
100,00% <= 12 millisekundit
100,00% <= 12 millisekundit
43448.04 päringut sekundis

====== SAA ======
  500000 taotlust lõpetatud 31,50 sekundiga
  100 paralleelklienti
  3 baidi kasulik koormus
  hoida elus: 1

0,01% <= 1 millisekund
0,90% <= 2 millisekundit
27,25% <= 3 millisekundit
97,65% <= 4 millisekundit
99,82% <= 5 millisekundit
99,94% <= 6 millisekundit
99,98% <= 7 millisekundit
99,98% <= 9 millisekundit
99,98% <= 10 millisekundit
99,99% <= 11 millisekundit
100,00% <= 12 millisekundit
100,00% <= 12 millisekundit
15872.01 taotlust sekundis

Kuna testimistööriistad, tarkvaraversioonid, testparameetrid jms annavad kõik erinevaid tulemusi, testid on ainult viitamiseks; selle artikli lihtsate testide kaudu on näha, et Garnetil on oluliselt madalam latentsus kui Redis.

(Lõpp)




Eelmine:.NET/C# peegeldusatribuut, mida saab hinnata nulltüüpide järgi
Järgmine:SSE (1) kasutab ASP.NET Core'i SSE serverina
 Üürileandja| Postitatud 2024-3-28 18:01:32 |
KeyDB on täielikult avatud lähtekoodiga andmebaas, mida toetab Snap, ja on kiirem alternatiiv Redisile. Aadress:https://docs.keydb.dev/
 Üürileandja| Postitatud 2025-9-3 09:36:07 |
KIIREM: Kiire samaaegne püsiv võtmeväärtuse salvestamine ja logimine C# ja C++ süsteemides.
        
Dokumentatsioon:Hüperlingi sisselogimine on nähtav.
Allikas:Hüperlingi sisselogimine on nähtav.
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com