Linux中文件描述符的理论极限

Linux中文件描述符的理论极限,第1张

概述Linux中文件描述符的理论极限

我运行一个专用的代理服务器与SquID,我试图感受到服务器可以处理的最大连接数。 我意识到这归结于linux机器上可用的文件描述符。

我已经find了大量有关增加最大文件描述符的信息,但我想找出理论上的最大值。 根据StackOverflow问题“为什么 *** 作系统限制文件描述符? ,它归结为可用的系统RAM,这是很有道理的。

现在,考虑到我有多less内存可用,如何确定 *** 作系统文件描述符的最大值? 一些显然仍然允许系统稳定运行的值。

也许有人可能有其他高端生产服务器的想法? 什么是最大化同时连接(文件描述符)的潜在数量的“标准”? 任何深入了解我如何可以最大限度地提高linux系统的文件描述符将不胜感激。

linux OOM杀手和Java进程

哪个进程正在使用我的记忆?

通过分叉减轻内存泄漏

什么会导致java进程大大超过Xmx或Xss限制?

是否会导致内存泄漏?

什么可能会导致ShellExecute返回SE_ERR_OOM(错误8)?

在windows中,我怎样才能用`new`replace`GlobalAlloc`?

在C#中声明一个variables为“private”是否可以保护窗口中的内存不被内存扫描器访问?

ColdFusion可以访问windows内存值

所有可写和可执行程序内存段types

你有很多限制。

复用。 这应该不是一个问题,如果你的应用程序使用一个体面的后端。 libev声称在100,000个文件描述符下复用了350us的延迟。

应用速度。 每个请求在这个比例(相当低)下1ms的应用程序延迟将花费将近两分钟的时间在最佳条件下处理100,000个请求。

带宽。 根据您的应用程序和协议的效率,这可能是一个问题。 你说这是一个鱿鱼代理…如果你是代理网站:没有缓存请求一个网站的客户端可以接收从几百KB到几MB的任何地方。 如果每个客户端的平均整页请求量是500KB,那么每秒2000个请求就可以实现全千兆连接。 这可能是你的限制因素。

2000文件描述符是一个相当小的数量。 我已经看到,像Python这样的语言中的简单应用可以扩展到单个处理器内核上的超过3000个活动连接,而不会出现延迟。

你可以使用诸如在多台客户机上运行的apachebench软件来测试你的squID代理,以得到一些实际的数字。 把你的文件描述符限制到2000+是很容易的,看看会发生什么,以及它是否会在之后产生影响。

总结

以上是内存溢出为你收集整理的Linux中文件描述符的理论极限全部内容,希望文章能够帮你解决Linux中文件描述符的理论极限所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1274538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存