1

我被要求开发一个使用 gnutls 的传输客户端(我使用的是 3.4.1)。

我还想模拟更多数量的此类 tls 客户端。

在我的应用程序中,每个客户端都是一个单独的进程。

我的每个进程都与 gmp、nettle 和 gnutls 库动态链接。

如果没有 tls,我可以在我的机器(8 gb RAM)中轻松模拟超过 10k 的连接(使用 tcp/udp)。

但是有了 tls,我无法模拟超过 800 个连接。记忆正在枯竭,这对我来说是一个大问题。

我使用 Valgrind 内存检查工具运行,我看到零错误和零警告。

任何人都可以帮助我在构建 gnutls 时应该注意什么,以便对其进行优化并尽可能地使用它。

4

1 回答 1

0

您可以使用 callgrind 来分析并查看是否重复调用了 gnutls 中的任何 api。虽然看起来很旧,但您可以找到 callgrind 是如何用于查找问题的。

于 2015-06-20T02:03:24.663 回答