v2.4.0 による商品一覧の表示速度改善
正式版 2.4.0 では、「商品表示速度(MySQL使用時)の高速化対応を行いました。」とアナウンスされている。(内容の詳細: チケット#436)
顧客環境にて、Ver 2.3.3 から Ver 2.4.0 へバージョンアップを請け負った際に、この効果を測定してみた。
試験環境
共有サーバを利用した。(他のユーザの利用状態に大きく影響を受けるため、正確な結果を得られているとは限らない。)
- EC-CUBE
- バージョンアップ前: 正式版 2.3.3
- バージョンアップ後: 正式版 2.4.0 (r18008)
- WADAX
- PHP 5.2.8
- MySQL 4.1.22 (WEBサーバと同一マシン)
- 商品数 … 26 (dtb_products 37レコード)
- カテゴリ数 … 22 (dtb_category 22レコード)
- 規格 … 規格無し、規格1のみ、規格1+規格2混在
- カスタマイズあり
測定方法
異なる2商品カテゴリをリクエストしてからレスポンスが帰ってくるまでの時間を測定。(レンダリングや画像の読み込み時間は含まない)
結果
商品数26のカテゴリ
バージョン | 2.3.3 | 2.4.0 | |
---|---|---|---|
1回目 | 0.661秒 | 0.723秒 | |
2回目 | 0.624秒 | 5.633秒 | |
3回目 | 0.590秒 | 0.608秒 | |
4回目 | 0.591秒 | 1.707秒 | |
5回目 | 0.587秒 | 0.573秒 | |
メジアン | 0.602秒 | 1.013秒 | 68.272%の悪化 |
最速時 | 0.587秒 | 0.573秒 | 2.385%の改善 |
商品数7のカテゴリ
バージョン | 2.3.3 | 2.4.0 | |
---|---|---|---|
1回目 | 0.899秒 | 0.515秒 | |
2回目 | 0.509秒 | 0.690秒 | |
3回目 | 0.498秒 | 0.886秒 | |
4回目 | 0.696秒 | 0.485秒 | |
5回目 | 1.134秒 | 1.100秒 | |
メジアン | 0.701秒 | 0.697秒 | 0.571%の改善 |
最速時 | 0.498秒 | 0.485秒 | 2.610%の改善 |
- メジアン(中央値)は、5回の測定のうち、一番早いものと一番遅いものを除いた3回分の平均。
- 通常はメジアンで比較するが、共有サーバのため最速時で比較するのが妥当と考えられる。
結論
本環境においては、2.5%程度の改善があったようである。
備考
- 商品数が増えた場合は、もっと顕著に効果が現れると予想される。その理由は下記の通り。
- 高速化されたDB問い合わせ以外の処理も含まれているため
- 通信経路(インターネット)の伝送による遅延も含まれているため
- DBのキャッシュクリアを行っていないため、キャッシュ状態によっては大幅に結果が異なることもあると考えられる。