Экземпляры внешнего интерфейса часто перезапускаются

1

Я разрабатываю игровое приложение, и в настоящее время я сталкиваюсь с необычным поведением с моими экземплярами F4 Frontend. Они часто перезапускаются в произвольный промежуток времени, несмотря на постоянную нагрузку. Иногда они продолжаются 2 часа, но иногда они умирают всего через 30 минут после запуска, и игроки испытывают высокую задержку во время холодного старта.

Я настроил запросы на разминку, я также попытался настроить резидентные экземпляры, ожидающие задержки и т.д., Чтобы хотя бы избежать задержек из-за перезапусков, но без успеха.

Я думал о утечке памяти в приложении, но экземпляры используют только 200 МБ ОЗУ, прежде чем они умрут, а экземпляры F4 - 512. В журналах также нет признаков сбоев.

Я считаю, что это не нормальное поведение экземпляров приложения. Я был бы признателен, если бы вы помогли мне определить проблему.

Статистика задержек

бревна

  • 0
    Я обнаружил, что задержка загрузки для Java довольно высока по сравнению с другими средами выполнения, и даже с запросами на разогрев пользовательские запросы все еще могут обслуживаться экземплярами, которые еще не готовы. Возможно, вы захотите выделить соответствующую часть вашего приложения в отдельный модуль go / python, если считаете, что задержка загрузки лучше.
  • 1
    К сожалению, я в настоящее время испытываю только с Java :( Задержка загрузки не была бы проблемой, если бы она не происходила каждые 30 минут. Это означает, что каждый игрок, входящий в игру, испытал бы задержку хотя бы один раз. Я чувствую, что что-то заставляя экземпляры вести себя так, но я не могу найти что. Я раньше не работал с другими приложениями gae, поэтому я не уверен, какое поведение является нормальным, а какое - нет. Вы бы поделились производительностью ваших экземпляров?
Показать ещё 1 комментарий
Теги:
google-app-engine

2 ответа

0

Мы столкнулись с той же проблемой, о которой сообщает Nhat. Мы открываем длинный билет с поддержкой GAE и пока не отвечаем. Также проблема с частым перезапуском - это балансировка нагрузки, поскольку она отправляет запросы в новый экземпляр, затем клиенты застревают до тех пор, пока не загрузится экземпляр. Невозможно позволить балансировочному балансу что-то вроде: "не отправил мне запрос, пока я не дам вам знать, что я загрузился, и я готов". Я думаю, что проблема связана с серьезной проблемой инфраструктуры GAE, это длинная короткая история: из-за проблемы с нашим приложением мы были перенесены на более раннюю версию GAE, и, похоже, мы работали в изолированной ферме. Затем экземпляры работали в течение нескольких часов без сбоев, безупречно. Как только они вернут нас в стандартное место, мы снова столкнемся с проблемой без каких-либо изменений в нашей стороне. К настоящему времени мы не нашли разрешения, и это сильно повлияло на общий системный опыт.

0

Если вам не нужен один большой экземпляр, вам может быть лучше использовать несколько меньших экземпляров.

Если вам нужно, чтобы все игроки находились в одном экземпляре, вам, вероятно, следует переключиться на ручное масштабирование с автоматического масштабирования.

  • 0
    Нет, мне не нужен один экземпляр. Я в настоящее время использую автоматическое масштабирование

Ещё вопросы

Сообщество Overcoder
Наверх
Меню