Задать вопрос

Как отреагирует сервер на более 20 sql запросов?

Ситуация такая. Игровой портал, игра происходит на node.js, затем нода посылает данные на сервер php, а он в свою очередь просчитывает результат и делает записи в базу.

Как это выглядит:
Пользователи отыграли в игру, node.js послал массив пользователей с очками игры на сценарий php, php определил победителей и теперь необходимо сделать в базу кучу запросов:

1) достать данные игры и убедиться, что нам пришли правильные данные
2) записать в лог таблицу, что сыграна такая-то игра
3) сделать 4 запроса к каждому игроку:
- получить данные об игроке
- обновить рейтинг и тп
- сделать запись о том, что он сыграл игру (в 20:21 пользователь выиграл или проиграл и тп...)
- обновить данные

В игре может быть от 2 до 4 человек. Всего игр 10. В каждой игре может играть около 1000 человек.

По подсчетам, что бы обработать результат игры для 4 игроков нужно сделать около 20 запросов в базу данных.

Подскажите пожалуйста при росте посещаемости, как сервер отнесется к такой операции?

К примеру если одновременно будет сыгранно 100 партий в 10 играх. Серверу нужно будет сделать 2000 запросов в базу данных. Чем это черевато? И решит ли веб кластер проблему если она будет с нагрузкой?
  • Вопрос задан
  • 3616 просмотров
Подписаться 6 Оценить Комментировать
Ответ пользователя svd71 К ответам на вопрос (6)
svd71
@svd71
СУБД бывают в двух типах:
- блокировочник: все обращения на сервер возвращают читаемое значение без всяких проблем. Скорость выполнения и логика работы очень простая. При изменении какой-либо записи, все операции временно блокируются, а потом продолжаются по окончании изменений.
- транзакционная модель: позволяет читать и изменять записи. Измененные записи создают временные копии, которые просто ожидают подтверждение или отмену этих изменений. Пока данные не подтверждены все другие записи видят только то, что было до изменений.
Ответ написан
Комментировать