c++ - Libmicrohttpd 的限制是什么?

标签 c++ c linux http

<分区>

我想基于库 Libmicrohttpd 开发一个 http 服务器。

我想知道 Libmicrohttpd 可以支持的同时连接的用户数限制是多少。

最佳答案

嗯,这取决于很多因素:

  • 由于 HTTP 在 TCP 上运行,因此您需要计算出您的服务器一次能够支持多少个 TCP 连接。我建议做一些基准测试以获得一个想法。您可以使用 Apache Bench和/或 Apache JMeter .或者,您可以使用 libcurl 编写自己的基准测试应用程序.
  • 另一件事是您的操作系统可以支持的套接字数量。根据操作系统的不同,您可能需要调整/调整这些值。在 Linux 上,您可以使用 ulimit命令。而且,在 Windows 上,您可能需要配置注册表值。
  • 另一个重要的事情是连接可能带来的负载和服务器必须做的处理。您需要对一些预定义的数据量(比如 64KB、1MB 等)进行基准测试。在这种情况下,您可能希望尽快处理所有数据。套接字有固定大小的积压。那些也需要配置。这意味着您将需要更多内存,因此还需要更大的 RAM 大小或对操作系统进行一些微调。所以,这里的内存是一个瓶颈。
  • 连接超时也很重要,但如果您想在基准测试中考虑这些因素,则需要考虑这一点。取决于您的服务器对连接的处理。

您也可以看看 c10k得到一个大概的想法。参见 this也有相关文章。

这些是我目前能想到的事情。如果我发现任何其他问题,我会更新我的答案。

希望这对您有所帮助!

关于c++ - Libmicrohttpd 的限制是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48380071/

相关文章:

c - 为什么代码会进入无限循环

无法通过 DNS 欺骗欺骗主机命令

php - 虚假的 PHP 未声明的静态属性

Linux VPS red5 停止问题

c - Bresenham 的画线算法

c++ - 无法将参数 1 从 'Component<W> *' 转换为 'Component<W> *'

c++ - 将 C++ 转换为 Objective-C

c++ - SFML 2.1 被按下

c++ - RAII 是否支持资源所有权转移?

c++ - c vs c++ on solaris 9 平台问题