
Valkey 8.1 稳定版正式发布!本文深入解析了 Valkey 8.1 的各项技术革新,帮助管理员和开发者充分释放性能潜力。
Valkey 8.1 主要更新亮点
重写新一代哈希表架构
Valkey 8.1 对核心哈希表实现进行了全面重构。作为键值存储的基础架构,新版哈希表全面支持Hash
、Set
和Sorted Set
等数据类型。通过采用现代化的设计理念,这项改进显著减少了内存分配和随机内存访问次数。初步测试结果显示:
- 内存占用降低:每个键值对(无 TTL 设置)可节省约 20 字节内存,启用 TTL 时最高可节省 30 字节。
- 吞吐量提升:在流水线模式下(禁用 I/O 线程时)相比 Valkey 8.0 版本,吞吐量提升了约 10%。
引入迭代器预加载技术
Valkey 8.1 引入了「迭代器预加载」这一创新功能。当 Valkey 节点需要向新连接的副本传输键值对时,系统会主动将相关哈希桶和元素预加载到 CPU 缓存中。实际测试表明:
- 迭代速度提升了 3.5 倍。
KEYS
等命令执行时间也大幅缩短。
此外,I/O 线程的处理能力得到扩展,并新增支持TLS 协商、复制流读写等操作。不仅提升了新连接的处理效率,还进一步优化了GET
、SET
等基础操作的吞吐量,同时加速了复制流量的传输速度。
复制性能显著提升
在数据复制方面,Valkey 8.1 实现了质的飞跃:
- 同步速度提升:通过消除冗余 CRC 检查,启用 TLS 时的同步速度提了升约 18%。
- 内存优化:fork 操作的写时复制内存开销降低约 47%
主动碎片整理机制也获得重要改进:
- 消除了超过 1 毫秒的延迟情况。
- 碎片整理周期压缩到 500 微秒。
- 通过提高运行频率保持低尾部延迟。
- 新增反饥饿机制,确保长时间运行命令下仍能满足 CPU 使用率目标。
增强系统可观察性
Valkey 8.1 在监控诊断能力方面进行了多项改进:
- 新增日志格式选项:支持经典格式和结构化格式(如 logfmt)。
- 提供多种时间戳样式选择:包括现代化的 ISO 8601 格式。
- 新增 COMMANDLOG 功能:可记录大型请求/响应,为端到端延迟分析提供更细致的视角。
- 内置延迟监控框架:现在不仅能报告最新延迟事件,还提供了总延迟次数和峰值数据统计,帮助用户全面掌握延迟发生频率和影响程度
其它更新细节
Valkey 8.1 还包含多项细粒度的性能优化:
- 新增 SET IFEQ 命令:实现条件更新,简化客户端逻辑,减少请求往返。
- ZRANK 命令优化:在排行榜场景下,性能提升最高达 45%。
针对特定计算场景的优化包括:
- HyperLogLog 操作:通过 x86 AVX 指令集优化,合并和计数性能提升 12 倍。
- BITCOUNT 命令:借助 AVX2 优化,性能提升超 500%。
- 浮点数解析加速:
ZADD
等命令的浮点数解析速度提升,但需要支持 SIMD 指令的 C++ 编译器。
最新评论
不知名软件:怪我咯!😏
在Win11下,第一次安装完后不要急着用,建议先重启一下。(我直接用的时候打开虚拟机报错了,重启后就正常了)
自动维护还是很重要的,我的就被不知名软件关闭了,导致系统时间落后正常时间15秒。用优化软件的一定要注意。
刷不到新版更新