Fej fej mellett az áteresztőképességben
A HotKV Ltd tesztjében, amelyben a HotKV-t, a Redist, a Valkey-t és a Dragonflyt egyetlen felhőpéldányon mértük, a HotKV érte el a legmagasabb medián áteresztőképességet 12 parancsból 11 esetében. A PING-en a Dragonfly 0,6%-kal magasabbat mért, ami a terhelésgenerátorok korlátján belül van, ezért döntetlennek tekintjük. Ezek az eredmények a tesztelt buildekre és beállításokra érvényesek. Lásd lent a módszertant.
- Ugyanaz a gépMinden szerver ugyanazon a példányon fut, egyszerre egy.
- Külön terhelésgenerátorokA terhelést dedikált kliensgépek hozzák létre, soha nem a szerver saját gépe.
- Ugyanazok a beállításokMinden szerver ugyanannyi szálat kap, és semmilyen más hangolást.
- 3 futtatás mediánjaMinden parancs háromszor fut. A mediánt mutatjuk.
- A korlátok jelölveA hálózat vagy a terhelésgenerátorok által szabott eredmények meg vannak jelölve.
- A teljes módszerMinden beállítás, korlát és fenntartás ki van írva az eredmények alatt.
- CPU:
- AMD EPYC 9V45 (Turin)
- vCPU-k:
- 160
- Architektúra:
- x86_64
- RAM:
- 314,8 GB
- Hálózat:
- 78 Gbps ki, 132+ Gbps be
- Szálak:
- 160 szerverenként (Redis 128, a maximuma)
- Mérve:
- 2026. október 9.
Művelet másodpercenként, 3 futtatás mediánja. Minden sáv az adott parancs leggyorsabb szerveréhez van skálázva.
- Az adott parancs legmagasabb eredménye.
- Hálózat által korlátozott: a példány hálózata szabta meg ezt az eredményt, így a szerver saját korlátja magasabb.
- Terhelésgenerátor által korlátozott: a terhelésgenerátor gépek CPU-használata 85% fölött futott, így ez az ő plafonjuk, nem a szerveré.
- Az Azure méri a kimenő forgalmat: az iperf3 három kliensgéppel 78 Gbps kimenő és legalább 132 Gbps bejövő forgalmat mért. A GET és az MGET értékeket küld ki. A HotKV GET-je a kimenő korlát 88%-át használta, így az a példány által szabott alsó határ, nem a szerver korlátja, az MGET-je pedig 83%-kal közel van hozzá. A Dragonfly olvasásai a korlát legfeljebb 44%-át használták.
- Az írások bejövő forgalomként érkeznek, így az írási eredmények szerverszámok. A legnehezebb, a SETNX körülbelül 106 Gbps-sel, a bejövő plafon nagyjából 80%-át használta, ezért a HotKV írási értékeit enyhe alsó határként kezelje.
- A PING-nél a terhelésgenerátorok CPU-használata a HotKV-nál 86%-ot, a Dragonflynál 82%-ot ért el. A köztük lévő 0,6% ezen a korláton belül van, így a PING döntetlen.
Pontos számok: Azure D160alds_v7
| Parancs | HotKV | Redis | Valkey | Dragonfly | HotKV a(z) Redis ellen | HotKV a(z) Valkey ellen | HotKV a(z) Dragonfly ellen |
|---|---|---|---|---|---|---|---|
| SET | Legmagasabb: 50,480,621 | 3,409,794 | 2,882,486 | 15,042,258 | 14.80x | 17.51x | 3.36x |
| GET | Legmagasabb: 36,643,656(Hálózat által korlátozott) | 1,132,934 | 1,631,573 | 13,446,228 | 32.34x | 22.46x | 2.73x |
| MGET | Legmagasabb: 4,617,382 | 277,956 | 536,872 | 2,348,137 | 16.61x | 8.60x | 1.97x |
| SETNX | Legmagasabb: 55,333,360 | 1,397,967 | 1,860,919 | 14,442,422 | 39.58x | 29.73x | 3.83x |
| APPEND | Legmagasabb: 25,050,648 | 1,530,680 | 1,290,421 | 8,858,165 | 16.37x | 19.41x | 2.83x |
| INCR | Legmagasabb: 90,783,545 | 2,104,069 | 1,918,073 | 20,603,259 | 43.15x | 47.33x | 4.41x |
| LPUSH | Legmagasabb: 31,617,779 | 1,247,914 | 842,106 | 10,579,641 | 25.34x | 37.55x | 2.99x |
| RPUSH | Legmagasabb: 43,776,706 | 628,324 | 878,476 | 11,014,977 | 69.67x | 49.83x | 3.97x |
| SADD | Legmagasabb: 50,626,647 | 2,053,737 | 894,438 | 12,044,417 | 24.65x | 56.60x | 4.20x |
| HSET | Legmagasabb: 28,997,514 | 536,527 | 781,768 | 9,797,534 | 54.05x | 37.09x | 2.96x |
| MSET | Legmagasabb: 11,275,369 | 378,641 | 464,801 | 2,941,342 | 29.78x | 24.26x | 3.83x |
| PING | 125,232,520(Terhelésgenerátor által korlátozott) | 3,235,600 | 3,480,446 | Legmagasabb: 126,033,542 | 38.70x | 35.98x | 0.99x |
Gyorsabb a Redis 8 vektorhalmazainál a tesztünkben
Ugyanazokat az OpenAI-embeddingeket töltöttük be a HotKV-ba és a Redis 8-ba, és ugyanazt a 1000 lekérdezést futtattuk mindkettőn, 1–100 párhuzamos kliens kapcsolattal, egyetlen gépen. Mindkettő teljes pontosságú vektorokat tárolt, azonos indexbeállításokkal.
Másodpercenkénti lekérdezések azonos recall mellett
Mindkét motor teljes pontosságú float32 vektorokat tárolt. 999 000 vektor betöltése után a HotKV-folyamat 6,77 GB-ot, a Redis 7,01 GB-ot foglalt.
Nem mértük: a Redis alapértelmezett 8 bites kvantált módját, a Redis Query Engine-t, más adathalmazokat és más hardvert. A HotKV-build egy ki nem adott fejlesztői build. A Redist négy vCPU-ra rögzítve töltöttük be, és újratöltött indexen kerestünk (lásd a cikket).
Teljes számok: 999 000 vektor, 50 kliens
| ef | HotKV recall | Redis recall | HotKV lekérdezés/mp | Redis lekérdezés/mp | Arány |
|---|---|---|---|---|---|
| 40 | 0,940 | 0,923 | 63 897 | 8061 | 7,9x |
| 80 | 0,970 | 0,962 | 37 508 | 6825 | 5,5x |
| 150 | 0,987 | 0,980 | 21 912 | 5241 | 4,2x |
| 300 | 0,993 | 0,990 | 12 393 | 3454 | 3,6x |
| 500 | 0,997 | 0,994 | 7688 | 2483 | 3,1x |
HotKV build c8dafd37 és Redis 8.10.2, koszinusz hasonlóság, HNSW M=16 és ef_construction=200 beállítással mindkettőn, float32 mindkettőn (Redis NOQUANT). A recall a recall@10 a pontos nyers erejű eredményekhez képest. 3 futtatás mediánja, Azure Standard_D160alds_v7, AMD EPYC 9V45, 160 vCPUs gépen. A szerverek 128 vCPU-n osztoztak, a terhelésgenerátorok pedig 32 másikon futottak, mindkettőhöz ugyanazzal a klienskóddal.
Adathalmaz: dbpedia-entities-openai-1M embeddingek (OpenAI text-embedding-ada-002, 1536 dimenzió), készítette: Kumar Shivendu and Nirant Kasliwal, licenc: MIT, plusz 1000 félretett lekérdezés. Teljes módszer, szkriptek és nyers eredmények. Mérés időpontja: 2026. október 14..
Készen áll, hogy munkára fogja a HotKV-t?
Kérjen korai hozzáférést, és ismerje meg a HotKV-t a saját munkaterhelésén.
Korai hozzáférés kérése