Eccube

ECCUBE3 x EFSが遅すぎる

SAMBA上にキャッシュまで置いて、快適に動いているので、
当然、EFSでも動くものだと思っていましたが、

 

キャッシュなしの初回ロードは、20秒とか・・・

ECCUBE3 EFS

11秒とかが、標準的速さです。

遅いのなんのって・・・

 

同じサーバー上では、ECCUBE2.13がEFS上で動いており、
そちらは至って快適なんです。
キャッシュファイルは、ローカルに置いてます。

 

***

ECCUBE3 x EFS x Cloudfrontが、遅すぎて使えなかったを経て、

PHP7は早いということで、Dockerを使い7.xにしてみるも、結果は同じ。

最後には、元々動いているサーバー上のdocker image毎、
こっちに持ってきて、ページを表示させたところ、

「1秒台」

 

nginxが乗り、phpfpmが動く仮想環境で、
全ファイルは、イメージ内にある条件でです。

ローカルファイルだと早いので、

犯人はEFSで確定です!!

 

冗長化のためには、大変重宝していたEFSですが、
時間もないので、Dropboxで冗長化してみることにしました。

 

PS

EFS上のapp や htmlを、1つずつローカルと置き換えて、
テストはしたんですが、格段に速度差が体感出来るほどで、

vendorや、srcなんて、、、

何が原因は、全く不明です。

-

ECCUBE3 * キャッシュファイルをEFS外に置く

基本的な考え方は、2.13と同じです。
参考 >> https://shoroji.com/2019/10/4355/

 

eccube3¥ efs¥ app¥、html¥、src¥、vendor¥
_cache¥

※nginx / apacheのdocument rootは、
「/var/www/html/eccube3/efs/html/」となります。

***

触るのは、2箇所。

/app/config/eccube/path.yml

template_temp_realdir: /var/www/html/eccube3/_cache/eccube/template
csv_temp_realdir: /var/www/html/eccube3/_cache/eccube/csv
plugin_temp_realdir: /var/www/html/eccube3/_cache/plugin

/src/Eccube/Application.php

「/cache/」で検索した、該当箇所

139行目 >> 'http_cache.cache_dir' => '/var/www/html/eccube3/_cache/http/'
218行目 >> 'translator.cache_dir' => $this['debug'] ? null : '/var/www/html/eccube3/_cache/translator',
240行目 >> 'session.storage.save_path' => '/var/www/html/eccube3/_cache/eccube/session',
290行目 >> $cacheBaseDir = '/var/www/html/eccube3/_cache/twig/profiler/';
292行目 >> $cacheBaseDir = '/var/www/html/eccube3/_cache/twig/production/';
483行目 >> 'orm.proxies_dir' => cache_dir. 'doctrine/proxies',

見落としがあれば、修正下さい。

-