以编程方式评估 somaxconn 的值,以设置监听积压参数

2023-12-25

对于服务器端编程,我使用监听函数:

int listen(int sockfd, int backlog); 

我知道积压工作应该小于或等于我将运行服务器程序的主机系统上设置的 somaxconn 。 如果我使用 SOMAXCONN 作为积压工作,则相当于将其硬编码为 SOMAXCONN 的值,该值通常在 tcp.h 中定义为 128。

但是,somaxconn 是一个可调 sysctl 参数,可以通过更改 /proc/sys/net/core/somaxconn 的值或使用 sysctl 修改 net.core.somaxconn 来修改它

人们通常会修改somaxconn以获得更好的系统性能。 我希望我的程序能够在程序启动时通过评估系统的 somaxconn 来利用。

我可以打开文件 /proc/sys/net/core/somaxconn 并读取其中包含的值,但这似乎是一种相当不优雅的做法,特别是因为我认为 somaxconn 的文件路径可能会有所不同,具体取决于发行版。

是否有 API 或示例代码可以在 c/c++ 中评估 somaxconn ?

还请告诉我我是否遗漏了一些关键点,从而导致了错误的思维。

我还想将我的应用程序移植到 Windows,因此 Windows 程序员也可能有一些有用的见解可以分享!

预先感谢所有黑客伙伴。


根据您的平台,您可能正在寻找带有 kern.ipc.somaxconn 的 sysctl() 。

但是,如果我正确理解您的问题,您的目标是始终使用最大可能的待办事项大小。据我了解,传递给listen()的积压值将默默地限制在系统配置的限制内。因此,您的解决方案可能只是简单地调用带有“非常大”积压值的listen()。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式评估 somaxconn 的值,以设置监听积压参数 的相关文章

随机推荐

  • 如何改变android中数组元素的颜色? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我只是想知道 我们可以更改特定数组索引的颜色吗 我有一个以下数组 String all 1 2 3 4 5 6 7 8 9 10 所以 我想
  • 使用大的静态变量是一个坏主意吗?

    我使用 ASP NET MVC 4 我想加载大量数据并使其在我的所有类中都可以访问 这是我的代码的简约示例 public class MyController Controller public static List
  • 数据库中的重复条目

    我有一个巨大的产品表 但有很多重复的条目 该表有超过 10000 个条目 我想删除其中的重复条目 而不需要手动查找并删除它 如果您能为我提供解决方案 请告诉我 你可以使用SELECT DISTINCT INTO TempTable 删除原始
  • 创建图像而不将其存储为本地文件

    这是我的情况 我想从用户上传的图像创建一个调整大小的 jpeg 图像 然后将其发送到 S3 进行存储 但我希望避免将调整大小的 jpeg 写入磁盘 然后为 S3 请求重新加载它 有没有办法完全在内存中完成此操作 并将图像数据 JPEG 格式
  • 将光标设置到 contenteditable div 的末尾

    如果当前标签为空 我试图将光标设置到下一个 上一个 contenteditable 标签的末尾 但是当我设置焦点时 它将焦点添加到文本的开头而不是结尾 尝试了几乎所有的解决方案 但似乎没有一个对我有用 这是我正在尝试的简单代码 HTML代码
  • 在android中查询“dumpsys meminfo”

    当我在 android 4 2 上运行 adb shell dumpsys meminfo 时 我得到的结果如下 Shared Private Heap Heap Heap Pss Dirty Dirty Size Alloc Free N
  • 如何使用 Selenium IDE 上传文件?

    这在过去是有效的 但最近我一直在尝试使用 Selenium IDE 上传文件 现在我收到此错误 错误 意外异常 代码 gt 1000 INDEX SIZE ERR gt 1 DOMSTRING SIZE ERR gt 2 HIERARCHY
  • 在 MVC 5 中使用 ModelClientValidationRule 抛出错误?

    我尝试在 MVC 5 项目中进行自定义客户端验证 当我添加以下代码时 public IEnumerable
  • 在一个txt文件中搜索多个字符串

    我确实知道对此还有多个其他答案 但它们不适合我的代码 因为我的代码每次搜索必须处理 1000 行以上 我想组合 2 个输入的字符串 以便 PHP 脚本在 txt 文件中搜索这两个字符串 并在输出时组合它们 这是我尝试过的 search GE
  • 为什么当我从网络浏览器打开它并在Java中读取它时,html源代码是不同的? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个关于解析在线 html 页面
  • CakePHP:提交失败时清除密码字段

    问候 我正在设置一个带有密码字段的非常标准的注册表单 问题是 提交失败后 由于字段为空 格式不正确等 控制器会重新加载注册页面 但密码字段包含先前输入的密码的哈希值 每次提交失败后如何将其清空 View echo form gt passw
  • 使用 selectize 从选定内容获取文本

    我试过这个 var eventHandler function return function console log select val var select selectize selectize create true onChan
  • 原则 2,本机查询

    我正在尝试使用 Doctrine 2 进行本机查询 但我无法使其工作 q SELECT FROM user recent activity WHERE id user gt id rsm new Doctrine ORM Query Res
  • 运行时错误“1004”无法获取 WorksheetFunction 类的 Match 属性

    nSectionSetupRow Application WorksheetFunction Match Worksheets Items Cells nRow 1 Worksheets SectionSetup Range B1 B Wo
  • 下一个/路由器和下一个/导航有什么区别?

    在 Next js 中 我都知道next router and next navigation have a useRouter hook 但是返回的对象不同 为什么 Next js 在两个路由包上有相同的钩子 The useRouter
  • 将 ifstream 转换为 bool 与使用 ifstream::is_open() 之间的区别

    也许是一个虚拟问题 但我需要一个明确的答案 这些函数的返回有什么区别吗 int FileExists const std string filename ifstream file filename c str return file in
  • Fortran FORMAT 语句中的语法错误

    I am using the gfortran compiler and I am unable to find the syntax error in the line Can anyone tell me the syntax erro
  • SQL排除查询

    是否可以在单个 SQL 语句中执行以下操作 例如 在提示中使用电话号码的子集8001231000 8001239999 然后查询我的数据库中有电话号码 并返回原始子集中哪些电话号码不在我的数据库中 我的数据库是Oracle 10g 基本上不
  • JSON.NET 反序列化对象/对象数组中的对象

    我遇到的情况是 我使用的 API 返回不一致的 JSON 我想使用 JSON NET 对其进行反序列化 在一种情况下 它返回一个包含对象的对象 注意外面的 1 可以是任何数字 1 0 db id 12835424 title XXX 1 d
  • 以编程方式评估 somaxconn 的值,以设置监听积压参数

    对于服务器端编程 我使用监听函数 int listen int sockfd int backlog 我知道积压工作应该小于或等于我将运行服务器程序的主机系统上设置的 somaxconn 如果我使用 SOMAXCONN 作为积压工作 则相当