首页/安全/加密与证书速查/openssl speed 性能基准

openssl speed 性能基准

speed 对哈希、对称加密与非对称运算做基准测试,输出吞吐或每秒操作数;用于容量规划与算法选型的量级参考,结果依赖 CPU 与编译选项。

加密与证书速查安全更新于 2026-10-13

speed 是干什么的

openssl speed 对密码运算做基准测试,输出吞吐量(每秒处理字节数)或每秒操作数,覆盖对称加密、哈希与非对称运算三类。它回答的是「这台机器在密码运算上大概是什么量级」,用于容量规划与算法选型的前期估算。结果高度依赖 CPU 型号、是否启用指令集加速(AES-NI、AVX 等)以及 OpenSSL 的编译选项,跨机器直接比数字意义有限。

基本信息

对称加密openssl speed -evp aes-256-gcm / chacha20-poly1305
哈希openssl speed -evp sha256 / sha512
非对称openssl speed rsa2048 / ecdsap256 / ed25519
输出口径对称显示每秒字节数,非对称显示每秒签名或验签次数
影响因子CPU 型号、指令集加速、编译选项、当前负载
建议同一环境迁移前后对比,才有可比性

典型使用场景

  • 容量估算:推算单机能承受多少 TLS 握手与多少对称加解密吞吐。
  • 算法选型:比较 AES-GCM 与 ChaCha20-Poly1305 在本机上的表现,决定移动场景偏好。
  • 硬件加速确认:看 AES 吞吐是否落在有 AES-NI 的量级,判断加速是否真的生效。
  • 迁移前后对比:换硬件或升级 OpenSSL 后做同样的基准,量化收益。
  • 问题定位:密码运算成为瓶颈时,先量出基线再看业务栈。

常用基准组合

常用基准组合
openssl speed -evp aes-256-gcm            # 对称加密吞吐
openssl speed -evp sha256                 # 哈希吞吐
openssl speed rsa2048 ecdsap256           # 握手相关的非对称运算
openssl speed -evp aes-256-gcm 2>/dev/null | tail -3   # 只看汇总行,便于记录
# 记下 openssl version -a 的输出,否则数据无法复现

输出读法

测试类别输出含义怎么判断
对称(-evp)每秒处理字节数,按块大小分行看大块一行的数值,代表稳态吞吐
哈希每秒处理字节数与已知 CPU 量级对照,判断加速是否生效
RSA 签名每秒签名次数握手成本的主要来源之一
ECDSA / Ed25519每秒签名与验签次数通常远高于 RSA,据此选握手算法
版本信息openssl version -a不记录版本,跨机器结果无法比较
不同机器与编译选项下结果差异明显:同一代 CPU 上是否启用 AES-NI,AES 吞吐可能相差数倍。基准要在空闲机器上跑,并与目标环境同版本、同编译选项。

易错点

  • 用基准结果直接推导业务 QPS:真实业务还包含网络、TLS 握手往返与应用逻辑开销,量级估算只能当上限参考。
  • 在共享测试机上跑基准:邻居负载让数字不可比,结论会失真。
  • 不看 openssl version -a 就横向对比:编译选项差异可能比硬件差异还大。
  • 把非对称测试当成 TLS 握手成本:一次完整握手还包含随机数生成与证书链验证。

数据来源与参考

  • OpenSSL 官方文档(speed)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌