我和其他几个开发者正在进行一场人工智能竞赛。基本上,我们有一个简单的棋盘游戏,并且我们每个人都编写了AI,这些AI将托管在我们自己的webservices上以相互对抗。
我已经运行了一个简单的WebApi 2服务,发布到了Azure上。我期望它大部分时间是静默的,然后突然间当游戏开始时,它会收到200-400个请求,这些请求可能非常快(一局游戏可能只持续几秒钟)。游戏服务器和AI之间使用普通的JSON POST进行通信。
我的问题是,Azure似乎正在限制请求。前几步发生得非常快,然后一切都变慢了。
我想知道Azure是否认为这是潜在的DOS攻击之类的东西。一旦事情变慢,获取回应可能需要超过1秒。以下是一些有趣的点:
- 本地托管时从不会出现这种情况。
- 根本没有数据库。
- 即使是一个简单的测试AI也会发生这种情况(因此没有计算负载)。
- 当游戏主机也部署到Azure时,它仍然会发生(因此是两个Azure站点互相交谈)。
那么我该如何解决这个问题?是否有一些设置我需要在某处告诉Azure这种行为是预期的?目前我将它当作共享服务,但我之前测试过使用两个实例的基本服务,仍然出现了减速的情况。