目录
1 概述
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126
OpenSSL是一款开源工具包,用于实现安全套接层(SSL)和传输层安全(TLS)协议,它对于大多数负责安全网络工作的Linux管理员来说是必不可少的一款日常工具。OpenSSL还包括丰富的功能,可以使用OpenSSL来测试POP和IMAP服务器,并且测试服务器的连接速度,还有其他值得关注的用途。openssl是著名的开源加解密软件,可以用openssl 加解密,架CA,发证书,有的商用密码机里面也用openssl。
2 安装准备
2.1 操作环境
操作系统版本:KOS 5.8 sp2u1(5.10.134-17.2.2.kos5.x86_64)
测试架构:x86_64,8核4G虚拟机
2.2 软件版本
Openssl 1.1.1k
3 可测试内容和测试建议
OpenSSL性能测试可以通过执行各种算法和操作来评估其性能。以下是一些常见的测试方法和建议:
加密算法测试:使用openssl的speed命令可以测试各种加密算法的执行速度。例如,可以测试AES、RSA、SHA等算法的加密和解密速度。
文件加密测试:使用openssl的enc命令对大文件进行加密和解密,以测试加密和解密操作的性能。可以选择不同的加密算法和模式,以及测试不同的密钥大小。
证书生成测试:使用openssl的req或ca命令生成证书,测试证书生成的速度和效率。
SSL/TLS性能测试:使用openssl的s_time或s_server命令测试SSL/TLS连接的性能,包括握手时间、传输速率等。
并发性能测试:使用多线程或多进程方式进行加密、解密、证书生成等操作,以测试OpenSSL在并发情况下的性能。在进行OpenSSL性能测试时,建议注意以下几点:
选择合适的测试环境,确保硬件和操作系统配置最优。
测试不同的算法和参数组合,以找到最优的性能配置。
测试不同的数据大小和负载,以评估OpenSSL在不同情况下的性能表现。
对比其他SSL/TLS库或工具的性能,以评估OpenSSL的相对性能。
注意测试结果的稳定性和可重复性,确保测试结果可靠。
4 编译安装
安装Openssl有诸多方式,既可以通过软件仓库,比如Fedora的yum命令或者Ubuntu的aptitude命令来安装,也可以从Openssl的网站上直接下载最新源代码,自己编译安装。我们直接从软件仓库安装。通过yum install openssl安装及其相关依赖。
5 测试场景和测试结果
我们主要采用openssl speed来测试加解密的效率,通过对不同算法的测试来评估相应算法的性能值。
[root@localhost current]# openssl speed --help
Usage: speed [options] ciphers...
Valid options are:
-help Display this summary
-evp val Use EVP-named cipher or digest
-decrypt Time decryption instead of encryption (only EVP)
-aead Benchmark EVP-named AEAD cipher in TLS-like sequence
-mb Enable (tls1>=1) multi-block mode on EVP-named cipher
-mr Produce machine readable output
-multi +int Run benchmarks in parallel
-async_jobs +int Enable async mode and start specified number of jobs
-rand val Load the file(s) into the random number generator
-writerand outfile Write random data to the specified file
-engine val Use engine, possibly a hardware device
-elapsed Use wall-clock time instead of CPU user time as divisor
-primes +int Specify number of primes (for RSA only)
-seconds +int Run benchmarks for specified amount of seconds
-bytes +int Run [non-PKI] benchmarks on custom-sized buffer
-misalign +int Use specified offset to mis-align buffers
上述命令可以指定相应的算法、是否多进程、执行时间、测试算法类型等等。我们采用以下命令来测试加解密算法:
openssl speed -multi $nr_task -seconds $duration $type
测试单进程和多进程场景,测试时间固定一分钟,测试的加解密算法有:
aes 、des、sha256、rsa4096、dsa2048
例如:测试md5两个进程测试时间60秒的加解密效率
测试的结果在最后一行,每种算法从16 bytes、64bytes、256bytes、1024bytes、8192bytes、16384 bytes都有。可以根据表格,记录不同算法的效率值,这个值越大代表效率越高,我们大概率认为加解密的性能越好。下图是不同加密算法的效率值比对。
以md5的16bytes数据88407.98k为例子,在循环中以16字节运行md5哈希例程60秒钟输入. 60秒钟后,每秒处理8840万个字节。