使用boost :: asio ssl服务器减少每个连接的内存使用量

时间:2014-01-08 18:32:49

标签: c++ boost ssl boost-asio

我正在使用boost :: asio在ssl服务器上工作。我希望尽可能减少每个ssl连接的内存使用量。

我的代码主要源自 boost::asio::ssl example服务器示例。这意味着我将会话存储为Session类对象,具有sslContext属性,已注册的read_handler等(几乎与示例中一样)

我能找到的所有优化都是SSL_MODE_RELEASE_BUFFERSSSL_OP_NO_COMPRESSION。而现在我每个连接大约55kB。

但是根据this thread,您可以将内存使用量降低到11kB。

我还能做些什么来减少这种用法吗?

操作系统:Ubuntu 11.04和升级版本:1_55

1 个答案:

答案 0 :(得分:1)

对我来说也是一个重要的问题,所以我研究了一下。

目前asio :: ssl引擎实现的内存开销至少为34kB。您可以在源代码stream_core.hppmax_tls_record_size中看到它。 valgind massif 工具证实了这一点。但是,我没有设法找到如何避免这种情况,因为这些缓冲区在 io_op 中被深深地使用。