2019-10-10
以下の記事は、htmlだけをEFSに上げる仕様のものでしたが、
Smartyキャッシュファイル以外をEFSに上げました。
速度も変わらず、大変スムーズ且つ、ファイルの書き換えが楽です!
***
ECCUBE 4がリリースされており、3ですら乗り遅れていますが、
中身をイジリまくっているシステムとしては、
安易に移行ができません。
この度、PHP7への対応を行った「EC-CUBE 2.17.0α」の存在を知りましたが、
https://www.ec-cube.net/news/detail.php?news_id=290
これも1年前のリリース。
まだ、開発者向けのαなので、
***
さて、この度、AWS 東京リージョンで、EFSが使えるようになり、
2つ以上のEC2上でのファイル共有がすこぶる楽になったわけですが、
全然、使いこなせていませんでした。
※EFS ≒ NFS ≒ファイル共有システム
その理由は、過去に行った改造によるもの
通常
- data
- html
のフォルダーになっていますが、
フォルダー移動が面倒という理由から、
html下にdataフォルダーを移動させました。
define.phpで宣言されている
/** HTMLディレクトリからのDATAディレクトリの相対パス */ define('HTML2DATA_DIR', '../_data/');
を、「./_data/」に書き換えるだけで、
作業効率が著しく上がったのですが、
2台のEC2のファイル更新が面倒で面倒で、
ようやく導入されたEFSに飛びついたわけですが、
全ファイルをEFSに移動させたところ、
超遅い!!
これは、smartyのtemplate_c以下に生成される
テンプレートファイルの読み書きの問題だと思いますが、
user_data(ベースのテンプレートが保存されている)だけを、
EFSに移行させたところ、速度は改善されました。
dataフォルダーは滅多に書き換えることがないのですが、
このdataが下層フォルダーにあることで、
EFSに乗せることができない状況にありました。
=HTML2DATA_DIR ../data/ >> ./data/の書き換えが原因
ということで、今回標準のdataフォルダーを、
htmlの同層にもどし、htmlをEFSに載せましたが、
当初、なんでこんな2層にしているだろう?
と疑問に思っておりましたが、
NFS(EFS)にHTMLを乗せるための、構造だったんですね!
製作者の意図が汲み取れず、自分が情けなくなりました。。。
これで、html以下にあるshoppingなどのphpを書き換えも、
2台分書き換えなくてよくなり、大変便利になり、
ECCUBEの開発元のロックオンさんの設計の素晴らしさに痛感しました!
3系は、システム設計が根本から変わっており、
参入障壁が高いことから、2.17に期待したいところですが、
すでに4リリースされていることもあり、
すでに過去の遺産・・・
来年こそは、3系に移行できたら良いなと思っている今日このごろです。