現在公開中のゲーム「
KamuNi」の総合ベスト・平均スコア集計処理を改修しました。
今回の改良はサーバー側のバージョンアップで、プレイヤー側のバージョンアップはありません。
これまでは毎日全譜面の集計処理を行っていましたが、処理時間の長さが問題になっていました。
KamuNiは収録曲が多く、現時点での譜面数は
537譜面に及びます。
いくらSQLの計算処理が速いとはいえ、総合ベストの集計に10秒近くかかっていました。
これは平均スコアもほぼ同タイムで、合計20秒かかる。
流石にサーバーへの負荷がかかりすぎる……。
今回の改修にて、以下のように仕様を変更。
- 新たに譜面毎の総合ベストや最終プレイ日の情報を記録するレコードを追加
- プレイする度に最終プレイ日が記録される
- 毎朝4時頃に最終プレイ日が昨日以降の譜面について、総合ベスト・平均スコアの再集計を行う
- それとは別に、自己ベスト更新時に対象譜面の総合ベスト・平均スコアを再集計する
これによって処理は高速化された……はず。
また、毎朝4時以外にも平均スコアやプレイ人数の更新が行われるようになります。
ただ、未知の不具合や更新処理のミス等がありそうなので、気になる方は安定するまでプレイを控えたほうが良いかもしれません。