gpt4 book ai didi

.net - 处理数千个连接的最佳方式

转载 作者:可可西里 更新时间:2023-11-01 02:54:35 25 4
gpt4 key购买 nike

  • 我有一个车队(假设大约有 5000 辆,少一点)。

  • 我们希望这些车辆向我们发送他们的 GPS 位置,比方说每 5 秒一次。

  • 因此,作为消息,我们只需要一个字符串(可能是一个包含日期、纬度、经度和车辆 IDJSON 对象)。

  • 由于我是一名 .Net 网络开发人员,所以我并没有经常使用 TCP 连接。

  • 我在网上找到了异步服务器和客户端的示例,因此我编写了一个小程序来模拟大约 5000 辆车每 5 秒发送一次消息。

  • 目前,服务器崩溃的速度非常快。它似乎停止接收消息。我需要调查为什么今天...

  • 我的问题是:我走得好吗?我的意思是我只监听 5000 辆车的 1 个端口。

  • 如果我监听 50 个端口,每个端口用于 100 辆车,我会得到更好的结果吗?

  • 您认为会有更好的方法来完成我正在尝试做的事情吗?

提前致谢。

最佳答案

首先,5 秒对于获取不会真正发生太大变化的更新来说是很短的时间。检查您的业务案例以接收如此大量的数据。您可以摆脱更多的间歇性调用。 (我会说每分钟 1 次是最低要求,我们过去常常进行 15 分钟更新)。

对于接收大量简单数据的调用,您可能会发现构造一个对象来处理它,并且通常构造管道会花费太多时间。你应该限制传入的数据,读取数据包并在继续下一个数据包之前非常快速地处理它们。同时处理许多这些传入流的大型系统可能不是这种情况的最佳解决方案。当然,为每个传入数据包配备一个对象处理程序并试图同时处理所有这些数据包是灾难的根源。

如果没有更多信息,我无能为力 - 您需要分析资源使用的位置,是否在系统中设置了太多的处理程序,或者网络或 CPU,并更改架构以最小化对这些区域的影响.

关于.net - 处理数千个连接的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22981531/

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