如何启用boost asio ssl\u模式\u释放\u缓冲区

如何启用boost asio ssl\u模式\u释放\u缓冲区,boost,openssl,boost-asio,Boost,Openssl,Boost Asio,我正在使用boost::asio编写SSL服务器。我的目标是实现大约30k个并发连接(以后可能会更高)。因此,我自然希望使每个SSL连接的内存需求尽可能低。我发现我应该设置SSL\u模式\u释放\u缓冲区。然而,对于如何使用boost::asio启用它,我还没有找到一个明确的答案 我正在寻找boost::asio等效于 SSL_set_mode(ssl, SSL_MODE_RELEASE_BUFFERS); 非常感谢您的帮助。只要您使用最新版本的OpenSSL,所有最新版本的Boost(1.4

我正在使用boost::asio编写SSL服务器。我的目标是实现大约30k个并发连接(以后可能会更高)。因此,我自然希望使每个SSL连接的内存需求尽可能低。我发现我应该设置SSL\u模式\u释放\u缓冲区。然而,对于如何使用boost::asio启用它,我还没有找到一个明确的答案

我正在寻找boost::asio等效于

SSL_set_mode(ssl, SSL_MODE_RELEASE_BUFFERS);

非常感谢您的帮助。

只要您使用最新版本的OpenSSL,所有最新版本的Boost(1.47.0及更新版本)中的Boost Asio默认设置SSL模式释放缓冲区。自OpenSSL 1.0.0d以来,SSL\u MODE\u RELEASE\u BUFFERS选项可用

请参阅中的以下行:


它是在大约3年前添加的:

“使用boost::asio…的ssl服务器,用于大约3万个并发连接”。这个数字可能有点高。我最后读到的nqinx(其性能和占地面积都很小)只能处理大约10000或12000个SSL连接。当然,这里面有很多主观性,我找不到这篇文章,也找不到硬件。我找到了人们声称有那么多连接的线程。不管怎样,我的主管也这么认为。好吧,祝你好运。请报告结果。我总是对这些数字感兴趣。
#if defined(SSL_MODE_RELEASE_BUFFERS) 
  ::SSL_set_mode(ssl_, SSL_MODE_RELEASE_BUFFERS); 
#endif // defined(SSL_MODE_RELEASE_BUFFERS)