Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3522|Atbildi: 2

[Avots] Vienkāršs granāta kešatmiņas un Redis salīdzinājums, kas izstrādāts ar .NET

[Kopēt saiti]
Publicēts 2024-3-28 18:00:42 | | | |
Granāts ir jauns attālās kešatmiņas krātuves veids, ko izstrādājusi Microsoft Research, kas piedāvā vairākas unikālas priekšrocības:

  • Granāts izmanto populāro RESP līnijas protokolu kā sākumpunktu, kas ļauj izmantot Garnet no nemodificētiem Redis klientiem, kas mūsdienās ir pieejami lielākajā daļā programmēšanas valodu, piemēram, StackExchange.Redis C#.
  • Granāts piedāvā labāku caurlaidspēju un mērogojamību ar daudziem klientu savienojumiem un mazām partijām, salīdzinot ar salīdzināmu atvērtā koda kešatmiņas krātuvi, ietaupot izmaksas lielām lietojumprogrammām un pakalpojumiem.
  • Granāts demonstrēja ārkārtīgi zemu klienta latentumu (parasti mazāk nekā 300 mikrosekundes pie 99,9%), izmantojot Commodity Cloud (Azure) VM ar iespējotu paātrinātu TCP, kas ir kritiski svarīgs reālajiem scenārijiem.
  • Granāts ir balstīts uz jaunāko .NET tehnoloģiju un ir starpplatformu, paplašināms un moderns. Tas ir izstrādāts tā, lai to būtu viegli attīstīt un attīstīt, nezaudējot veiktspēju parastās situācijās. Mēs izmantojam bagātīgo .NET bibliotēku ekosistēmu, lai paplašinātu API un nodrošinātu atvērtas optimizācijas iespējas. Pateicoties mūsu rūpīgai .NET izmantošanai, Garnet sasniedz vismodernāko veiktspēju gan Linux, gan Windows.


Atvērtā koda adrese:Hipersaites pieteikšanās ir redzama.
Dokumentācija:Hipersaites pieteikšanās ir redzama.

Granātam ir šādas galvenās priekšrocības:

  • Servera caurlaidspēja (operācijas sekundē) tiek palielināta par vairākām pakāpēm mazām partijām un daudzām klientu sesijām salīdzinājumā ar salīdzināmu atvērtā koda kešatmiņas krātuvi.
  • Preču mākoņa (Azure) mašīnās ar paātrinātu TCP, kas iespējots operētājsistēmā Windows un Linux, vienas operācijas latentums ir ārkārtīgi zems (parasti mazāks par 300 mikrosekundēm pie 99,9%).
  • Palielinoties klientu skaitam, labāka mērogojamība tiek panākta ar vai bez klientu paketes.
  • Spēja izmantot visus servera datora CPU/atmiņas resursus, izmantojot vienu koplietojamās atmiņas servera instanci (nav nepieciešama iekšējā mezglu klasterizācija).
  • Atbalsts datu kopām, kas ir lielākas par atmiņu, kas pārpilda lokālās un mākoņkrātuves ierīces.
  • Datu bāzes funkcijas, piemēram, ātrais kontrolpunkts un atgūšana un publicēšana / abonēšana.
  • Atbalsts vairāku mezglu sadalītai jaucējkoda sadalīšanai (Redis "klastera" režīms), stāvokļa migrācijai un replicēšanai.
  • Labi pārbaudīts ar visaptverošu testa komplektu (tūkstošiem vienību testu pret granātu un tā uzglabāšanas līmeni Tsavorite).
  • C# kodu bāze, kuru ir viegli attīstīt un paplašināt.


Granāts neatbalsta visas Redis komandas, īpaši atbalstītās komandas, lai skatītu:Hipersaites pieteikšanās ir redzama.
Granāta projekts ietver etalona rīku RESP etalonu palaišanai, izmantojot dažādus klientus, dažādas darba slodzes un dažādas politikas, lai izmērītu caurlaidspēju, veiktspēju un latentumu. Adrese:Hipersaites pieteikšanās ir redzama.
RESP protokols:Hipersaites pieteikšanās ir redzama.

Šajā rakstā vienkāršai testēšanai tiek izmantoti Redis iebūvētie salīdzinošās novērtēšanas rīki, un testa vide ir šāda:

Redis Benchmark veiktspējas tests
https://www.itsvse.com/thread-9645-1-1.html

Kešatmiņasversija
RedisRedis 3.0.504 (00000000/0) 64 bitu
GarnetGranāts 1.0.2 64 biti; Savrups režīms


Redis etaloni

Vispirms palaidiet Redis kešatmiņu, izmantojot komandrindu ar šādu komandu:


Testa komanda ir šāda:


Rezultāti ir šādi:



====== KOMPLEKTS ======
  500000 pieprasījumi izpildīti 24.38 sekundēs
  100 paralēlie klienti
  3 baitu lietderīgā slodze
  saglabāt dzīvu: 1

0,03% <= 1 milisekundes
0,25% <= 2 milisekundes
2,65% <= 3 milisekundes
16,49% <= 4 milisekundes
59,95% <= 5 milisekundes
99,09% <= 6 milisekundes
99,76% <= 7 milisekundes
99,86% <= 8 milisekundes
99,93% <= 9 milisekundes
99,98% <= 10 milisekundes
99,99% <= 11 milisekundes
100,00% <= 12 milisekundes
20512,82 pieprasījumi sekundē

====== IEGŪT ======
  500000 pieprasījumi izpildīti 27,41 sekundē
  100 paralēlie klienti
  3 baitu lietderīgā slodze
  saglabāt dzīvu: 1

0,03% <= 1 milisekundes
0,19% <= 2 milisekundes
6,44% <= 3 milisekundes
25,82% <= 4 milisekundes
45,65% <= 5 milisekundes
98,79% <= 6 milisekundes
99,98% <= 7 milisekundes
99,98% <= 8 milisekundes
99,98% <= 9 milisekundes
100,00% <= 9 milisekundes
18238,86 pieprasījumi sekundē

Granāta etaloni

Izveidojiet jaunu .NET 8 konsoles projektu un vispirms atsaucieties uz Microsoft.Garnet pakotni, izmantojot šādu komandu:


Kods ir šāds:


Startēšanas komanda ir šāda:


Izmantojot to pašu etalona komandu, rezultāts ir šāds:



====== KOMPLEKTS ======
  500000 pieprasījumi izpildīti 11.51 sekundē
  100 paralēlie klienti
  3 baitu lietderīgā slodze
  saglabāt dzīvu: 1

75,51% <= 1 milisekundes
88,24% <= 2 milisekundes
92,04% <= 3 milisekundes
99,46% <= 4 milisekundes
99,98% <= 5 milisekundes
99,99% <= 6 milisekundes
100,00% <= 12 milisekundes
100,00% <= 12 milisekundes
43448,04 pieprasījumi sekundē

====== IEGŪT ======
  500000 pieprasījumi izpildīti 31,50 sekundēs
  100 paralēlie klienti
  3 baitu lietderīgā slodze
  saglabāt dzīvu: 1

0,01% <= 1 milisekundes
0,90% <= 2 milisekundes
27,25% <= 3 milisekundes
97,65% <= 4 milisekundes
99,82% <= 5 milisekundes
99,94% <= 6 milisekundes
99,98% <= 7 milisekundes
99,98% <= 9 milisekundes
99,98% <= 10 milisekundes
99,99% <= 11 milisekundes
100,00% <= 12 milisekundes
100,00% <= 12 milisekundes
15872.01 pieprasījumi sekundē

Pateicoties testēšanas rīkiem, programmatūras versijām, testa parametriem utt., Visi rada atšķirīgus rezultātus, testi ir tikai atsaucei, izmantojot vienkāršos testus šajā rakstā, var redzēt, ka Granātam ir ievērojami mazāks latentums nekā Redis.

(Beigas)




Iepriekšējo:.NET/C# atspoguļojuma atribūts, ko var spriest pēc nulles tipiem
Nākamo:SSE (1) izmanto ASP.NET Core kā SSE serveri
 Saimnieks| Publicēts 2024-3-28 18:01:32 |
KeyDB ir pilnīgi atvērtā koda datu bāze, ko darbina Snap, un tā ir ātrāka alternatīva Redis. Adrese:https://docs.keydb.dev/
 Saimnieks| Publicēts 2025-9-3 09:36:07 |
ĀTRĀK: Ātra vienlaicīga pastāvīga atslēgas un vērtības glabāšana un reģistrēšanās C# un C++.
        
Dokumentācija:Hipersaites pieteikšanās ir redzama.
Avots:Hipersaites pieteikšanās ir redzama.
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com