我的同事和我有一个很好的感觉,OpenSSL 或多或少需要从我们的应用程序中获得支持,但我想就它是否真的这么糟糕或者我们使用这个库是否存在可能给我们带来麻烦的问题提出一些意见。
设置:为每个用户维护持久 SSL 连接的多线程 C++ 应用程序。
在 500 个用户中,它运行良好。我正在尝试将限制增加到 1000 并且大约 960 在SSL_read
. 此读取是此特定连接的第一个 I/O 操作。我不得不将文件限制ulimit
从 1024 增加到 4096 才能达到这么高。所以我的问题是:
1)是否有可能需要将库配置为知道接受这么多连接?
2)这是一个线程问题,可以通过轻微使用互斥锁来解决吗?不过,我不能把整个 SSL_read 变成一个关键地带。
3)只是一个糟糕的错误库,需要被扔掉?