Цитата:
ligtsd прав скорее всего.
По нормальному там база данных какая то висит, типа SQL.
И даже если в конкретной таблице знаешь куда обратиться (те же координаты игрока или ещё что), то все равно от размеры таблицы зависит скорость обрабатывания информации.
Пусть в другой сфере, но приходится с этим мне сталкиваться каждый день. И когда общая база SQL растет, то и скорость работы зачастую падает. И приходится максимально оптимизировать код, чтобы как то отвоевать это падение. Ну или железо ставить нормальное.
Но никто не станет под эту небольшую игру ставить дорогие и мощные сервера. Не могут же они в убыток себе работать.
Цитата:
бэк офис можно разнести на несколько машин, как и фронт часть. и поставить рэдис, и балансировать нагрузку. и много чего еще, например, в облако игру загнать.
все решения известны, люди тут тоже неглупые (зря ligtsd сомневается) и к айти явно многие близки. а что толку.
Возможно, что слабость железа имеет место. Но мне кажется, что данный фактор не столь значителен. Не те масштабы игры. И железа за 200 -300 тыс. рублей выше крыши тут хватит. Это же не mmporg, где тысячи игроков в 3D-мире, в одной локации, каждый со своими характеристиками боя, каждый со своими скилами и прочее, и месиво идёт, и графика HD.
Позавчера атакер терров спам пустил, две армии - не двадцать. Пресловутые 20 минут зависания, отмеченные на форуме. От двух спамов - такой краш!
Совершенно очевидно, что имеем ошибку в коде, и скорее всего именно в базе данных, а не в механике боя.
Мне кажется, что при слиянии миров базы данных просто объединили, не проанализировав содержимое. И в какой-то строке обрабатываются "левые" данные, или не попадающие в область определения, или еще как-то.
Ну не может такая игровая ситуация приводить к таким проблемам из-за мощности сервера - у меня телефон больше инфы обработать способен.