gpt4 book ai didi

java - 寻找并证明最佳的端口/ socket /线程比

转载 作者:行者123 更新时间:2023-11-30 11:28:57 24 4
gpt4 key购买 nike

我如何找出并证明我的应用程序的最佳端口/套接字/线程比率?

目前我正在考虑这样的事情:

每个线程处理单个端口的所有流量,每个客户端都有自己的套接字,套接字在可用端口和线程之间分配。该解决方案基于这样的假设:我应该为每个 CPU 内核创建大约一个线程,并且打开套接字的成本相当低。这是一个好的解决方案吗?更重要的是,我如何从数学上证明这个解决方案或任何其他解决方案是一个好的解决方案?

我知道我可以为每个解决方案编写一个示例程序并测试结果,但我更喜欢数学证明而不是经验证明,尤其是在不反射(reflect)服务器硬件和配置的机器上进行测试的情况下.

我在端口和套接字方面没有太多经验,而且我很难找到信息来回答我的问题。到目前为止,我能找到的最佳资源是这些 Stack Overflow 问题:

如果我只是忽略了某些事情,或者误解了端口、套接字和线程的使用方式/应该使用的方式,我会非常满意一个简单的“rtfm:[link]”回答来为我指明正确的方向。但是,如果您感到宽宏大量并向我提供一个很好的解释,我将非常感激。

最佳答案

如果使用非阻塞 NIO,最佳性能是 1 个线程/核心。原因很简单:

  • 使用非阻塞 IO,只要有可用的工作,它就会由 1 个可用线程全速执行(因为没有阻塞)。

  • CPU 使用率永远不能超过 100%。

关于java - 寻找并证明最佳的端口/ socket /线程比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com