PR

パイレーツグランプリ:バトル実行時間計測 #4680

wada opened this at 2026-05-25T15:43:35; closed

Description

opened by wada at 2026-05-25T15:43:35; updated 2026-05-26T13:43:56

概要

バトル実行から結果表示までの3時間で、n人 / 2 * 10戦 が完了するかのテスト
ユーザー3000名、バトル1500件の実行時間を計測
3時間以内に完了するなら問題なし、3時間超えるようなら対応を予定

実際のバトル実行時刻と同じ14:00開始予定

バトルデッキ

ユーザの海賊バトルデッキを使用
デッキ戦闘力順に3000名が対象

テーブル追加

パイレーツグランプリのテーブル追加(ファイル内の全テーブル追加予定)
2026051401_create_pirate_grandprix_related_tables.sql

テスト方法、確認した内容

cd jr-yamada/lib/exec
#マッチング、pirate_grandprix_matchingテーブルの作成
ENVIRONMENT=production PF=yamada php test_pirate_grandprix_matching_preliminary.inc

#バトル実行
ENVIRONMENT=production PF=yamada php test_pirate_grandprix_battle_preliminary.inc

Comment

#46219 by kouho at 2026-05-26T09:49:14; updated 2026-05-26T09:49:14

@wada
指摘箇所以外は確認OKです

kouho add_label at 2026-05-26T09:49:23: コメントあり
wada merge at 2026-05-26T13:43:53: パイレーツグランプリ:バトル実行時間計測
wada close at 2026-05-26T13:43:53: Close
wada delete_branch at 2026-05-26T13:43:56: pirates_grandprix_battle_test

commit comment

#354 by kouho at 2026-05-25T16:27:51; lib/exec/test_pirate_grandprix_matching_preliminary.inc / old:None new:48
378d2f209e62b6e170caaed04f8d14959faa207c

@wada
このクエリのままだと全件並び替えが入りました。
INDEX利用を明示してuser_noのASCはないほうが軽くなります。

SELECT
  `user_no`
FROM
  `user_info` FORCE INDEX (`battle_deck_power`)
WHERE
  `battle_deck` > 0
ORDER BY
  `battle_deck_power` DESC
LIMIT 3000;

Commit range

basec1e55dbe79e5339080bd17aabb3109b4644b696e
head378d2f209e62b6e170caaed04f8d14959faa207c
base branchjolly/jr-web:master
head branchjolly/jr-web:pirates_grandprix_battle_test

View commits

Commit details are loaded from Git when a dynamic archive server is running, or can be embedded with --include-commits.
Files changed2 filesView patch
statusfile
addedlib/exec/test_pirate_grandprix_battle_preliminary.inc
addedlib/exec/test_pirate_grandprix_matching_preliminary.inc
Patch body is stored as a separate file to keep this page lightweight.

Review comment

#354 by kouho at 2026-05-25T16:27:51; lib/exec/test_pirate_grandprix_matching_preliminary.inc / old:None new:48
378d2f209e62b6e170caaed04f8d14959faa207c

@wada
このクエリのままだと全件並び替えが入りました。
INDEX利用を明示してuser_noのASCはないほうが軽くなります。

SELECT
  `user_no`
FROM
  `user_info` FORCE INDEX (`battle_deck_power`)
WHERE
  `battle_deck` > 0
ORDER BY
  `battle_deck_power` DESC
LIMIT 3000;