我在 ab 上运行了一些测试,当我使用超过 155 的并发级别时,我得到了以下结果:
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
Completed 100 requests
Completed 200 requests
Finished 200 requests
请求仍然成功:
Concurrency Level: 200
Time taken for tests: 14.481 seconds
Complete requests: 200
Failed requests: 0
我已经测试过多次,只有并发数超过 155 时 SSL 握手才会失败。有人能向我解释一下它们之间有什么直接关联吗?
答案1
当连接失败或中断,以及由于 SSL 错误时,SSL 握手可能会失败。如果由于缺乏可用熵而超时,它也可能失败。
有可能你只是对服务器施加了太大的压力。这里没有足够的信息来确定到底是什么出了问题。
这个测试中对成功的定义很奇怪,也令人怀疑。但是,如果我没记错的话,错误代码 5 表示套接字已关闭。也许 SSL 协商启动后,连接就被判定为成功,而不是成功后?