Throughput cara a cara
En la prueba que HotKV Ltd realizó con HotKV, Redis, Valkey y Dragonfly en una instancia en la nube, HotKV registró el mayor throughput mediano en 11 de 12 comandos. En PING, Dragonfly midió un 0,6 % más, algo que queda dentro del límite de los generadores de carga, así que lo contamos como un empate. Estos resultados se aplican a las compilaciones y los ajustes probados. Consulta la metodología más abajo.
- Misma máquinaCada servidor se ejecuta en la misma instancia, uno cada vez.
- Generadores de carga separadosLa carga la generan máquinas cliente dedicadas, nunca la propia máquina del servidor.
- Mismos ajustesCada servidor recibe el mismo número de hilos y ningún otro ajuste.
- Mediana de 3 ejecucionesCada comando se ejecuta 3 veces. Se muestra la mediana.
- Límites señaladosLos resultados determinados por la red o por los generadores de carga están señalados.
- Método completoCada ajuste, límite y salvedad se detalla debajo de los resultados.
- CPU:
- AMD EPYC 9V45 (Turin)
- vCPUs:
- 160
- Arquitectura:
- x86_64
- RAM:
- 314,8 GB
- Red:
- 78 Gbps de salida, 132+ Gbps de entrada
- Hilos:
- 160 por servidor (Redis 128, su máximo)
- Medido:
- 9 de octubre de 2026
Operaciones por segundo, mediana de 3 ejecuciones. Cada barra está escalada respecto al servidor más rápido en ese comando.
- Resultado más alto en ese comando.
- Limitado por la red: la red de la instancia determinó este resultado, por lo que el límite propio del servidor es mayor.
- Limitado por el generador de carga: las máquinas generadoras de carga superaron el 85 % de uso de CPU, así que este es su techo, no el del servidor.
- Azure mide y limita el tráfico saliente: iperf3 midió 78 Gbps de salida y al menos 132 Gbps de entrada con tres máquinas cliente. GET y MGET envían valores hacia fuera. El GET de HotKV usó el 88 % del tope de salida, así que es un mínimo fijado por la instancia, no un límite del servidor, y su MGET, con el 83 %, queda muy cerca. Las lecturas de Dragonfly usaron como máximo el 44 % del tope.
- Las escrituras llegan como tráfico entrante, así que los resultados de escritura son cifras del servidor. La más pesada, SETNX con unos 106 Gbps, usó cerca del 80 % del techo de entrada, por lo que conviene tratar las cifras de escritura de HotKV como cotas inferiores moderadas.
- En PING, los generadores de carga llegaron al 86 % de CPU con HotKV y al 82 % con Dragonfly. El 0,6 % que los separa queda dentro de ese límite, así que PING es un empate.
Cifras exactas para Azure D160alds_v7
| Comando | HotKV | Redis | Valkey | Dragonfly | HotKV frente a Redis | HotKV frente a Valkey | HotKV frente a Dragonfly |
|---|---|---|---|---|---|---|---|
| SET | Valor más alto: 50,480,621 | 3,409,794 | 2,882,486 | 15,042,258 | 14.80x | 17.51x | 3.36x |
| GET | Valor más alto: 36,643,656(Limitado por la red) | 1,132,934 | 1,631,573 | 13,446,228 | 32.34x | 22.46x | 2.73x |
| MGET | Valor más alto: 4,617,382 | 277,956 | 536,872 | 2,348,137 | 16.61x | 8.60x | 1.97x |
| SETNX | Valor más alto: 55,333,360 | 1,397,967 | 1,860,919 | 14,442,422 | 39.58x | 29.73x | 3.83x |
| APPEND | Valor más alto: 25,050,648 | 1,530,680 | 1,290,421 | 8,858,165 | 16.37x | 19.41x | 2.83x |
| INCR | Valor más alto: 90,783,545 | 2,104,069 | 1,918,073 | 20,603,259 | 43.15x | 47.33x | 4.41x |
| LPUSH | Valor más alto: 31,617,779 | 1,247,914 | 842,106 | 10,579,641 | 25.34x | 37.55x | 2.99x |
| RPUSH | Valor más alto: 43,776,706 | 628,324 | 878,476 | 11,014,977 | 69.67x | 49.83x | 3.97x |
| SADD | Valor más alto: 50,626,647 | 2,053,737 | 894,438 | 12,044,417 | 24.65x | 56.60x | 4.20x |
| HSET | Valor más alto: 28,997,514 | 536,527 | 781,768 | 9,797,534 | 54.05x | 37.09x | 2.96x |
| MSET | Valor más alto: 11,275,369 | 378,641 | 464,801 | 2,941,342 | 29.78x | 24.26x | 3.83x |
| PING | 125,232,520(Limitado por el generador de carga) | 3,235,600 | 3,480,446 | Valor más alto: 126,033,542 | 38.70x | 35.98x | 0.99x |
Más rápido que los vector sets de Redis 8 en nuestra prueba
Cargamos los mismos embeddings de OpenAI en HotKV y en Redis 8 y ejecutamos las mismas 1000 consultas contra cada uno, con entre 1 y 100 conexiones de cliente concurrentes, en una sola máquina. Ambos guardaban vectores de precisión completa, con los mismos ajustes de índice.
Consultas por segundo con el mismo recall
Ambos motores guardaron vectores float32 de precisión completa. Tras cargar 999.000 vectores, el proceso de HotKV ocupaba 6,77 GB y el de Redis 7,01 GB.
No se midieron: el modo cuantizado de 8 bits que Redis usa por defecto, el Redis Query Engine, otros conjuntos de datos ni otro hardware. La compilación de HotKV es una compilación de desarrollo que no se ha publicado. Redis se cargó fijado a cuatro vCPU y se consultó sobre un índice recargado (véase el artículo).
Todas las cifras: 999.000 vectores, 50 clientes
| ef | Recall de HotKV | Recall de Redis | Consultas/s de HotKV | Consultas/s de Redis | Relación |
|---|---|---|---|---|---|
| 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 |
Compilación de HotKV c8dafd37 y Redis 8.10.2, similitud coseno, HNSW con M=16 y ef_construction=200 en ambos, float32 en ambos (Redis NOQUANT). El recall es recall@10 frente a los resultados exactos de fuerza bruta. Mediana de 3 ejecuciones en Azure Standard_D160alds_v7, AMD EPYC 9V45, 160 vCPUs. Los servidores compartieron 128 vCPUs y los generadores de carga se ejecutaron en otras 32, con el mismo código de cliente para ambos.
Conjunto de datos: embeddings de dbpedia-entities-openai-1M (OpenAI text-embedding-ada-002, 1536 dimensiones) de Kumar Shivendu and Nirant Kasliwal, con licencia MIT, más 1000 consultas reservadas. Método completo, scripts y resultados en bruto. Medido el 14 de octubre de 2026.
¿Listo para poner HotKV a trabajar?
Obtén acceso anticipado y explora HotKV con tu carga de trabajo.
Acceso anticipado