【发布时间】:2018-07-13 17:39:02
【问题描述】:
我使用 Asio(非 Boost)创建了一个简单的服务器客户端,并将其用于数据传输速度的简单测试。
服务器:
- 创建缓冲区 (4 MB)
- 当客户端连接时(来自
async_accept的回调)- 启动计时器
- 向客户端发送缓冲区 (
async_write) - 等待客户端响应(来自
async_read的回调) - 重复步骤 2-3 100 次
- 停止计时器
- 计算传输速度(100 * 缓冲区大小 * 8 / 次)
客户
- 连接到服务器
- 等待来自服务器的数据(来自
async_read的回调) - 将单个字节发送回服务器 (
async_write) - 重复
- 等待来自服务器的数据(来自
我已经在使用和不使用 SSL/TLS 加密的情况下实现了这一点。非安全版本通过 localhost 可以达到大约 15.0 Gbps 的速度,但加密版本的速度会降低到大约 0.3 Gbps。
这是预期的吗?如果没有,有什么想法可能导致这种情况吗?
【问题讨论】:
标签: ssl network-programming boost-asio tls1.2