Azure是否限制了我的WebApi?

Pha*_*lon 14 c# throttling azure asp.net-web-api

我和其他一些开发者正在进行AI比赛.基本上,我们有一个简单的棋盘游戏,我们每个人都会编写AI,这些AI将托管在我们自己的网络服务上,以便相互对抗.

我已经启动并运行了一个基于WebApi 2的简单服务,该服务已发布到Azure.我的期望是大部分时间都会保持安静,然后突然在比赛开始时,它会很快收到200-400个请求(游戏只能持续几秒钟).游戏服务器和AI通过普通的JSON POST进行通信.

我的问题是,Azure似乎限制了请求.前几个动作发生得非常快,然后一切都变慢了.

我想知道Azure是否认为这是一个潜在的DOS攻击或其他什么.一旦事情变慢,可能需要一秒钟才能收回.一些兴趣点:

  • 这在本地托管时永远不会发生.
  • 根本没有数据库.
  • 即使使用简单的测试AI,它也会随机移动(因此没有计算负载)
  • 当游戏主机也部署到Azure时会发生这种情况(因此它是两个Azure站点相互通信).

那么我该如何解决这个问题呢?有什么地方我缺少哪里可以告诉Azure这种行为是预期的吗?我目前将它作为共享服务,但我之前用两个实例测试它作为基本服务,我仍然看到减速.

Pha*_*lon 2

问题在于允许的同时连接数。客户端非常草率,为每个请求建立一个新连接。这导致连接数超出限制。它可以像这个答案一样得到解决(正如谢伊在评论中指出的那样,我希望我可以将评论标记为正确答案!)。但由于我也可以访问客户端代码,所以我在那里修复了它。