Перестройка: первый этап

27 октября 2010 года | Новости

судоку перестройка часть первая

И вот он первый этап обновления в игре после длительной задержки. И действительно, сегодня первое обновление за шесть месяцев. Сегодня вышла новая версия 1.2.212 (предыдущая: 1.1.212).

Начал я не с визуальной, а серверной части. Так как зарегистрированных игроков у нас уже более двух тысяч, база данных, которая хранит ваши игры, начала разрастаться. И, тем самым, с каждым днём становится всё тяжелее и тяжелее.

Количество сыгранных игр перевалило за четыреста тысяч. Смотря на эту «картину» я решил найти решение, которое позволило «остепенить» скрипты и работать быстрее и стабильнее.

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

Сейчас информация о сыгранных играх, которым уже больше трёх месяцев, «улетает» в определённый момент из БД (я назвал его «день дампа»), но заранее, на основе этих данных, формируется другая информативная таблица, которая по размерам примерно в 20 раз меньше. Другими словами, это позволяет поддерживать серверную в «форме».

Перечислю преимущество данной оптимизации:

  • уменьшена сама база, что уменьшило общее время отзыва;
  • общий пересчёт и ответ БД ускорен по тестам в 1.8 раза;
  • в будущем игра не будет разрастаться и становиться тормознутым гигантом.

Но и без минусов никак не обойтись:

  • осталась только актуальная информация об играх за последние три месяца (на расчёт рейтинга и баллы это не повлияет);
  • может ещё что-то, что я не предусмотрел.

И напоследок добавлю, что расчёт рейтинга не изменился, и количество игр (сейчас отображается только за последнее три месяца) при расчёте рейтинга учитывается за всю игровую историю.

Ах да, заметил, что у некоторых пропали иконки, либо были загружены неправильные файлы. Поэтому у некоторых пользователей сбросил настройки. При желании можно загрузить картинку повторно (это касается примерно десятка игроков).

На этом всё. Пора думать о втором этапе.

  • Vlk

    я не понял как считают очки. Akula99 сыграл одну легкую игру за два с лишним часа и попал на 407 место сразу