第20回JAWS-UG札幌勉強会で発表しました。~EC-CUBEによるECサイトの負荷対策
10月10日(火)に行われた第20回JAWS-UG札幌勉強会で発表しました。
タイトルは「EC-CUBEによるECサイトの負荷対策」で、資料はこちらです。
アクセスの多いWebサイトとしては鉄板のサーバー構成だと思いますが、「EC-CUBE関連のサーバー負荷対策」については、ネット上で検索しても有益な情報は案外少ないので、この内容で発表させてもらいました。
当日もお話ししましたが、この案件では僕は、負荷対策のための構成変更のほか、セキュリティ強化、負荷テスト環境の構築などを担当しました。
EC-CUBEやWordPress等のCMSの複数サーバー構成で問題となる、サーバー間のデータ同期については、p.10のところが参考になるかと思います。
EC-CUBEを載せたEC2インスタンスを「管理用」と「公開用」に分けたのは、「管理用」から「公開用」への片方向へのデータ同期を実現するためです。
また、アクセスが少ない管理用のインスタンスタイプを小さくできるので、コスト的なメリットもありますね。
肝心の「負荷対策」については、株式会社ウェブモさん(https://webmo.co.jp/)が担当された、EC-CUBEアプリケーション側の改修、とくにElastiCache for Redisを使用したクエリキャッシュ導入の効果が断然大きかったです。
低レイヤの構成要素の中では、ディスクアクセスがダントツで遅いのですから、「ディスクアクセスをいかに減らすか」という観点でチューニングしていくのがポイントです。
アプリケーション改善の参考資料としてあげた、照井さんの資料を貼っておきます。
今回は、2年ぶりぐらいの発表で緊張しましたが、なんとか時間内に収められてよかったです。
自分がやってきたことをわかりやすく人に伝えるよい機会となるので、今後も機会があればどこかで発表させていただきたいと思います。
(2017.11.6追記)
この日のJAWS-UG札幌勉強会のもようが、ASCII.jpに掲載されました。
・ASCII.jp x TECH「事例からAWSのアップデートまで詰め込んだJAWS-UG札幌」
http://ascii.jp/elem/000/001/580/1580526/
(関連記事)
・JAWS-UG札幌の発表内容がASCII.jpに掲載されました。
https://inaba-serverdesign.jp/blog/20171106/jaws-ug_sapporo_asciijp.html