先日、EC-CUBEを使って婚活系のサービスを提供しているお客さんから相談があった。
画像の表示が少し遅いから早く表示されるようにしたいとのこと。

そこで画像をキャッシュすることにした。

画像はどこにキャッシュするかでいくつかの選択肢がある。ブラウザ側かサーバ側か。

ブラウザ側にキャッシュをすることで、サーバ側から画像を取得することなしに画像を表示することができるため、素早く画像を表示することができる。
もちろんブラウザ側に画像がキャッシュされていなければ、サーバから画像を取得する必要があるため、その時は表示に少し時間がかかることになる。
また、閲覧者一人ひとりに対して画像をキャッシュするため、閲覧者は全員、ブラウザ側に画像がキャッシュされていないはじめの閲覧時は表示に時間がかかる。

サーバ側にキャッシュをすると、EC-CUBEなどのアプリケーション側まで画像を取得しにいかず、webサーバなどの前段階で画像を閲覧者に返すことができるため、表示速度の改善が見込める。
ブラウザ側にキャッシュするよりかは表示に時間がかかることになるが、ブラウザ側にキャッシュするのとは違い、キャッシュした画像は閲覧者全員で共有することができる。
そのため、キャッシュ画像がないはじめの閲覧時だけ表示に時間がかかり、一度それがサーバにキャッシュされれば、他の誰が閲覧してもはじめからキャッシュした画像を活用することができる。

今回は、サーバ側にキャッシュをするだけで十分な改善が見られた。

Contact
Server に関するお問い合わせは、当サイトのContactページのフォームよりお問い合わせください。