C#可以安全地每隔5秒从200台客户端PC ping服务器(在本地网络中)吗?

use*_*287 3 c# ping sendasync

我正在C#中构建一个应用程序(客户端),它使用Ping.SendAsync(host,3000,null)在本地网络中ping服务器,以验证连接和发送数据.该应用程序将安装在大约200台电脑中.

问题是:

是否安全地每天从这200台PC中每隔5秒ping一次服务器?

提前致谢

Kir*_*rst 5

你应该已经知道了这个问题的答案 - 这取决于你.

假设您平均每秒发送40个请求.Web服务器每秒可以处理40个请求吗?它可能,但您没有提供服务器正在做什么的任何细节.

对于服务器接收请求并返回简单值,则毫秒数可以是单个数字.如果服务器需要读取或写入磁盘,或连接到另一台服务器(例如,数据库),那么毫秒数可能是两位数.如果连接到远程或多个服务器,它甚至可能需要三位数 - 超过100毫秒.

如果服务器需要处理一些数字并计算一些东西,那么就没有办法猜测 - 我所知道的可能需要一天.

假设服务器没有运行任何需要专用资源的其他关键系统,那么你真的对这里的两件事感兴趣

  • 手术需要多长时间才能完成?它显然需要在5秒内完成,因为服务器当时想要发出另一个请求,他们只是排队导致混乱.
  • 服务器可以处理多少个并发请求?确保您没有运行单线程服务器; 您希望能够同时处理多个请求.这将再次确保请求不排队.

你需要平均每秒40,这真的不是很多 - 假设没有太多的处理发生.但是知道这是否是一个"好主意"的方式就是简单地测试它.您应该使用测试框架或编写测试工具 - 这非常简单,只需编写尽可能快地访问服务器的应用程序.您将需要从多个客户端计算机运行测试,否则您将无法确定单个客户端计算机不是瓶颈.

这听起来可能很乏味,但它既有必要又有教育意义.