ロリポップとEC-cubeの相性は?

ロリポップでEC-cubeは使える?使えない?


ロリポップでEC-cubeは使えるか?

EC-cubeはデーターベースがあるレンタルサーバーなら、ほとんどのサーバーで使うことができます。
安いレンタルサーバーといえば、ロリポップ(月額263円)ですが・・・
「本当に安いだけレンタルサーバーで大丈夫?」
私のクライアントでロリポップでEC-cubeを設置した事例があるので、その使い心地についてお話します。

安いレンタルサーバーでEC-cube

EC-cubeは「MYSQL」もしくは「PostgreSQL」のデータベースがあれば使うことができます。ほとんどのレンタルサーバーでは「MYSQL」が使えるので、安価で運営するつもりなら月額263円のロリポップ(ロリポプラン)でもEC-cubeのショッピングサイトを作ることができます。

理論上ではデータベースがあれば使えるEC-cubeも「大がかりなショッピングサイトを安いレンタルサーバーでも正常に動くのか?」という疑問を持ったことはありませんか?私もその疑問を持った一人です。

それでは「ロリポップ×EC-cube」の相性をチェックします。

ロリポップのスペック

私のクライアントはロリポップのチカッパプランを利用しています。
チカッパプランのスペックは下記の通りです。

月額料金 525円 容量 60GB
データベース MYSQL(30個) データ転送量 1日 10GBまで

通常のサイトを運営する分には十分なスペックです。

■ データ(ディスク)容量とデータ転送量から見る
では、このチカッパプランEC-cubeを設置するのにデータ容量・データ転送量は足りるのか?
A社の運用実績を元にチェックします。

A社は月2,500件のアクセス数を集め毎月数十万円の売り上げを上げています。そのショッピングサイトを運用する時に使っているデータ(ディスク)使用容量とデータ転送量は下記の通りです。

データ使用容量 0.4GM
データ転送量 1日 0.1GB

ご覧の通り、データ使用容量もデータ転送量もまだまだ余裕があります。
今の100倍アクセスが来ても問題はありません。

ロリポップの問題点

■ CGI・PHPでの制限
ロリポップは1つのサーバーを複数の人間が使う共有サーバーです。
1人の共有者がサーバーに大きな負担を掛けると、他の共有者のサイトが表示速度が落ちるなどの迷惑行為になるため、CGI・PHPを使う場合に制限を設けています。

その制限の中で、EC-cubeで問題になるのが・・・

・処理時間が30秒を超えるCGI・PHPの禁止

EC-cubeのシステムはPHPで動いているので、処理時間が30秒以上の場合エラーが発生します。

残念ながらこの制限は私のクライアントA社様のショッピングサイトでも発生しました。
その時出たエラーが下記です。

Fatal error: Maximum execution time of 30 seconds exceeded in /home/users/1/〇〇〇〇/web/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php on line 204

お客様がサイトに訪れた時このエラーが発生したら、販促の機会を逃してしまうことになります。

この問題を解決するためには処理速度を早くするしかありません。

処理速度を早くするためには・・・

■ プログラムを見直す
EC-cubeのプログラムを見直すことで少しは早く表示できるようになります。ただ、それは専門的な知識がいるのでプロに依頼するしかありません。

■ 余分な機能を減らす
今回クライアントのA社が30秒制限に引っかかった理由は、
商品のオプション機能を追加したのが大きな原因となりました。

ですので、ショッピングサイトに
EC-cubeに最初から備わっていない機能を追加するつもりなら
表示速度についても考えなければいけません。

また、EC-cubeに最初から備わっている「規格」を使う場合も要注意です。

「規格」とは、
商品サイズの「S」、「M」、「L」や商品の色「赤」、「青」、「黄色」
などを設定することです。

この規格を複数使う場合、極端に処理速度・表示速度が遅くなるようです。

■ データベースを変える
EC-cubeは「MYSQL」もしくは「PostgreSQL」のデータベースがあれば使うことができます。
PostgreSQLの方がEC-cubeと相性が良く、MYSQLよりもデータベースの処理が早いです。

しかし、ロリポップで使えるデータベースは「MYSQL」のみで、「PostgreSQL」が使えるレンタルサーバーに変える必要があります。

データベース「MYSQL」と「PostgreSQL」の違いの詳細は「EC-cubeにおススメのレンタルサーバー」で記事にしています。詳しく知りたい方はそちらをご覧ください。

EC-cubeにおススメのレンタルサーバーの記事へ

今、正常に動いても、近い未来にちゃんと動く保証はありません。

「自社の(EC-cubeの)ショッピングサイトでは30秒掛からないから問題はない。」と言う方も安心してはいけません。

クライアントA社も、初めはオプション追加後も正常に動いていました。

しかし、オプション追加から数ヶ月、ここ最近エラーが発生するようになりました。(それと同時期にサイトの売り上げも落ちました。)
しかもこのエラーはいつも発生する訳では無く、日中のアクセスが多い時間帯にエラーが多く発生していました。

その理由を調べたところ1つの原因にたどり着きました。
それは「ロリポップは共有サーバー(共用サーバー)である」ことです。
上記でも説明した通り、共有サーバーは1人の共有者がサーバーに大きな負担を掛けると、他の共有者のサイトの表示速度が落ちてしまうのです。

つまり、共有サーバーの共有者の責任で、自サイトのへ接続がしにくい状態になった場合、
上記の「処理時間が30秒を超えるCGI・PHPの禁止」という制限に引っかかる可能性があるのです。

現在はプログラムの負荷がかかるオプションを消して、普通にサイトを表示させる分には安定して表示するようになりました。(落ちた売り上げも戻ってきました。)

ただ、サイト表示に負荷を与えると同じように30秒制限エラーが発生します。これは今以上にアクセスが増えるとページが表示されなくなることを意味しているので、もっと根本的な解決策が必要となってきます。

根本的な解決策とはレンタルサーバー会社を変えることです。
ロリポップは価格が安い分1つのサーバーで多くの共有者で運用されていると考えられます。その分、30秒の処理速度制限など厳しい制限が掛けられていますが、
共有サーバーでも処理速度制限が無い(緩い)レンタルサーバーはたくさんあるので、その中からレンタルサーバーを選ぶことにします。

ここでレンタルサーバーを選ぶポイントは「PostgreSQL」が使えるレンタルサーバーを選ぶことです。
PostgreSQLはEC-cubeと相性が良く、MYSQLと比べて表示速度が速くなります。表示速度が速くなるということはサーバーへの負担も軽くなり、気になる処理速度制限があっても引っかかりにくくなるということです。また、表示速度が速くなるのでお客様のストレスも少なくなり、購入率もアップといいことづくめです。

データベースPostgreSQLとEC-cubeの相性についての詳細は「EC-cubeにオススメのレンタルサーバー」をご覧ください。
EC-cubeにオススメのレンタルサーバー

EC-cubeにお勧めのレンタルサーバーWADAX

PostgreSQLが使える
レンタル料金は他社と比べると少し高めだが、EC-cubeと相性の良いPostgreSQLが使える。
共有サーバーでもデータ転送量は無制限で、ロリポップのようにPHP・CGIの処理速度制限もサイトをチェックする限り無さそうです。(サーバーの負荷が大きすぎると注意される様ですが、EC-cubeを使う分には問題ないでしょう)

■WADAX共有サーバー ブロンズプラン

初期費用 0円 月額料金 1,995円/月
ディスク容量 50GB
共有SSL 専用SSL
CGI PHP
MYSQL PostgreSQL
データ転送量 無制限 お試し期間 無し

(月額料金1年分前払いで初期費用無料)

WADAXレンタルサーバー評価記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)