小编pbh*_*gan的帖子

Mac OS X 是否会限制套接字创建的速率?

这似乎与编程有关,但这是一个操作系统问题。

我正在编写一个小型高性能守护进程,每秒需要数千个连接。它在 Linux 上运行良好(特别是 EC2 上的 Ubuntu 9.10)。在 Mac OS X 上,如果我在一个基准测试中抛出几千个连接(大约 16350 个),它只是打开一个连接,做它的事情并关闭连接,然后基准程序挂起几秒钟等待套接字变为可用在继续之前(或在过程中超时)。

我同时使用了 Apache Bench 和 Siege(以确保它不是基准应用程序)。

那么为什么/如何 Mac OS X 限制可以使用套接字的速率,我可以阻止它这样做吗?

还是有其他事情发生?

我知道有一个文件描述符限制,但我没有达到那个限制。接受套接字没有错误,它只是在第一个(大约)16000 之后挂起一段时间,等待 - 我假设 - 操作系统释放套接字。这不应该发生,因为此时所有先前的套接字都已关闭。它们应该以关闭的速度提供,并在 Ubuntu 上提供,但在 Mac OS X 上似乎存在某种多(5-10?)秒的延迟。

我尝试使用 ulimit 进行调整。纳达。

networking mac-osx socket throttling

8
推荐指数
2
解决办法
4740
查看次数

标签 统计

mac-osx ×1

networking ×1

socket ×1

throttling ×1