Я строю Ajax Tic Tac Toe игру на PHP / MySQL.
Суть игры заключается в том, чтобы иметь возможность поделиться URL-адресом, подобным mygame.com/123, со своими друзьями, и вы играете в несколько игр одновременно.
Способ, которым я его настроил, заключается в том, что файл (reload.php) вызывается каждые 3 секунды, пока пользователь просматривает пространство своей игровой доски. Этот reload.php строит их игровые доски, а вывод (html) заменяет их текущую игровую доску (таким образом, показывая игры, в которых их очередь)
Изначально я построил его полностью на PHP / MySQL и имел нулевое кеширование. Мой друг предложил мне попробовать сделать всю временную / быструю информацию для чтения через memcache (сохранение ходов и совпадений ID), а затем создать игровые доски из этой информации.
Моя проблема заключается в том, что оба решения сталкиваются со стеной, когда работает примерно 30-40 активных пользователей и работает примерно 40-50 игр.
Он работает на VPS от VPS.net с 2 узлами. (Выделенный процессор: 1,2 ГГц, ОЗУ: 752 МБ)
Каждый вызов reload.php выполняет 3 выбора и 2 запроса на вставку. Размер извлекаемых данных незначителен. Те же действия происходят с index.php для создания досок для первого посещения.
Теперь, когда предыстория закончена, мой вопрос:
Будет ли узкое место в том, что каждый пользователь опрашивает один и тот же файл каждые 3 секунды, чтобы восстановить свои игровые поля, и что все пользователи сидят на index.php, из которого в HTML выполняются вызовы AJAX.
Если это так, можно ли распространять обращения пользователей по набору файлов, предназначенных для создания игровых досок (например, reload1.php 2, 3 и т. Д.), И направлять пользователей к соответствующему файлу. Это уменьшит давление?
Длинное многословное объяснение; тем не менее, мне не о чем было спрашивать.
Большое спасибо за понимание.