2014-01-06 122 views
0

我正在寫一個使用boost :: asio的SSL服務器。我的目標是大約3萬個併發連接(可能稍後會更高)。所以我很自然地想讓每個SSL連接的內存要求儘可能低。我發現我應該設置SSL_MODE_RELEASE_BUFFERS。不過,我還沒有找到明確的答案,如何使用boost :: asio來啓用它。如何啓用升壓asio ssl_mode_release_buffers

我要找的boost :: ASIO相當於

SSL_set_mode(ssl, SSL_MODE_RELEASE_BUFFERS); 

任何幫助表示讚賞。

+0

。這個數字可能有點高。最後我讀到,nqinx(它的性能和佔用空間很小),只能處理大約10,000或12,000個SSL連接。當然有很多主觀性,我無法找到該文章或回想硬件。 – jww

+0

我發現線索在哪裏人聲稱有這種連接數量。無論如何,我的主管也這麼想。 – Malisak

+0

好的,祝你好運。請報告結果。我總是對這些數字感興趣。 – jww

回答

1

SSL_MODE_RELEASE_BUFFERS在Boost(1.47.0及更高版本)的所有最新版本中默認設置爲Boost Asio,只要您使用最新版本的OpenSSL。自OpenSSL 1.0.0d以來,SSL_MODE_RELEASE_BUFFERS選項可用。

請參閱以下行boost/asio/ssl/detail/impl/engine.ipp

#if defined(SSL_MODE_RELEASE_BUFFERS) 
    ::SSL_set_mode(ssl_, SSL_MODE_RELEASE_BUFFERS); 
#endif // defined(SSL_MODE_RELEASE_BUFFERS) 

它幾乎3年前補充說: 「使用boost :: ASIO SSL服務器...爲30K左右concurent連接」 https://svn.boost.org/trac/boost/changeset/71706

+0

好吧,很高興知道:)歡呼聲回答 – Malisak