Skip to main content

【テーブル情報取得】テーブル一覧表示の負荷が高く表示が遅延する件

日付:2026/08/05(出荷環境反映日)

バージョン:4.1.0-476.4(発生時のシステムバージョン)

症状

テーブル情報画面(テーブル一覧)の表示取得に時間がかかる事象が発生した。特にminiPCサーバー環境や注文数・データ量の多い店舗において、テーブル一覧に注文金額を表示する処理の負荷が高く、テーブル情報の取得・表示が遅延、または全く表示されなくなる事象が確認された。

発生条件

テーブル一覧画面でテーブルごとの注文金額を表示する設定を有効にしている店舗、特にminiPCサーバーを利用している店舗やデータ量・同時アクセスが多い店舗で発生する。テーブル情報表示のたびにorder_detailを集計するクエリが実行されることで負荷が高くなっており、直近リリースの#115217の対応も負荷増加の一因となっていた。

再現手順

①テーブル一覧に注文金額を表示する設定を有効にした店舗のテーブル画面を開く
②複数フロア・複数テーブルで同時に注文が入っている状態でテーブル一覧を表示する
③テーブル情報(特に注文金額)の取得・表示に時間がかかる、またはminiPC環境等で負荷が高くなる

原因

テーブル一覧画面を表示するたびに、各テーブルの注文金額をorder_detailから都度集計するクエリが実行される仕様となっており、テーブル数・注文数が多い店舗ほど負荷が高くなっていた。また、注文金額を表示しない設定の店舗でも金額の取得処理が実行されており、不要な負荷が発生していたことも判明した。

改善内容

以下の対応を実施した。注文金額を表示しない設定の場合は金額を取得しないようにした。テーブル情報の取得処理を切り離し、1分に1回取得する方式に変更した。注文金額以外の取得クエリについても見直しを行った。また、フロア切替時に注文金額データが未取得のまま0円表示となる事象があったため、フロア切替時にもデータを取得するよう調整した。

影響範囲

テーブル一覧画面でテーブルごとの注文金額を表示する設定を利用している店舗(特にminiPCサーバー利用店舗やデータ量の多い店舗)が対象。テーブル情報表示の負荷が軽減され、フロア切替時の金額表示挙動も改善される。なお、PHP5版・E-POS3には注文金額表示機能自体が実装されていないため本改修の対象外(他クエリの軽微な見直しのみで影響は少ないと判断)。

対象バージョン

【E-POS4 PHP8】base.v4.e-pos.link マイナーバージョンコード483.4

関連Issue

#115217 (テーブル注文金額表示関連の直近リリース)
#115557 8/7【miniPCサーバー対応】株式会社永楽(焼肉麓の宮 なんば千日前店)

改善内容の評価

eval2.v4環境での負荷検証において、テーブルに表示できる内容を全て設定した状態でも通常時平均30%程度、1分間隔の取得と合わせて最大40%程度の負荷に抑えられることを確認した。miniPC環境でも60台同時入店・同時注文時を除き大きな負荷上昇は見られず、既存の暫定対応で当面の負荷は許容範囲であることを確認した。フロア切替時に金額が取得できず0円表示になる事象についても、切替時のデータ取得追加により解消したことを確認済み。ただし本対応はあくまで暫定対応であり、注文金額を都度集計する仕様自体の見直し(差分更新方式や専用カラムでの保持など)は今後の課題として残っている。