我们的应用程序(使用现有的 Erlang OTP R15B01 模块)将 https 请求发送到外部身份验证服务器并得到回复,并且在正常情况下似乎工作正常。但是在重负载下,一些请求会失败,因为它们会花费更多时间来进行 SSL 握手。
我在 SSL 握手期间观察到以下情况:
在服务器 hello 完成服务器证书后,客户端(我们的应用程序)花费了近 80 秒来发送证书
因为我们的服务器希望在 30 秒内完成请求响应,否则它会断开连接,从而导致连接失败并严重影响应用程序的性能
最后,我想知道:
我们的应用程序是否未能快速调用客户端证书?我的意思是
httpc
模块是否会执行与文件/IO 相关的操作来调用证书,从而导致在重负载下响应变慢?Erlang 在 SSL 握手过程中是否有任何限制?