У меня и нескольких других разработчиков есть конкурс ИИ. В принципе, у нас есть простая настольная игра, и у нас есть все написанные AI, которые будут размещаться на наших собственных веб-сервисах, чтобы играть друг против друга.
У меня есть один запуск и запуск, это простая служба на основе WebApi 2, которая публикуется в Azure. Я ожидаю, что в большинстве случаев это будет тихо, а затем, когда игра начнется, она получит 200-400 запросов все потенциально очень быстро (игра может длиться всего несколько секунд). Игровой сервер и AI обмениваются данными со стандартными JSON-сообщениями.
Моя проблема в том, что Azure, похоже, меняет запросы. Первые несколько ходов происходят очень быстро, а затем все замедляется.
Мне интересно, как Azure думает, что это потенциальная атака DOS или что-то в этом роде. Это может занять более секунды, чтобы вернуться назад, когда ситуация замедляется. Несколько интересных моментов:
- Это никогда не происходит при локальном размещении.
- База данных вообще отсутствует.
- Это случается даже с простым тестовым ИИ, который просто перемещает фигуры произвольно (поэтому нет вычислительной нагрузки)
- Это происходит, когда игровой хост также развертывается в Azure (так что два сайта Azure разговаривают друг с другом).
Итак, как я могу это исправить? Есть ли где-то где-то где-то отсутствует, где я могу сказать Azure, такое поведение ожидается? В настоящее время я использую его как услугу Shared, но раньше я тестировал его как базовый сервис с двумя экземплярами, и я все еще наблюдал замедление.