EC-CUBEのカスタマイズ、ネットショップ制作メモ

主にEC-CUBEを利用したネットショップの制作、カスタマイズや独自機能の開発について

EC-CUBE クラウドサーバを試してみた。速い!

前回のブログから気づけば1ヶ月以上も経ってしまいました。
なかなか継続して書くのは難しいですね...

EC-CUBEクラウドサーバ

最近の案件で、サーバ選定からするケースがあったので、ちょうどリリースされたばかりのEC-CUBEクラウドサーバを試してみました。
EC-CUBE公式のクラウド環境という事で、その実力が気になっていました。特に、EC-CUBEの弱点とされるパフォーマンスが気になって夜も眠れませんでした。
EC-CUBEクラウドサーバはファーストサーバさんが実際の環境を構築して運営されています。
サーバのOSはLinuxだそうで、聞いた話ではカーネルレベルでEC-CUEB用にカスタマイズしたそうです。いったいどんな事をしたんでしょうね。

ロックオンさんからファーストサーバさんのご担当者*1をご紹介頂き、検証用の環境を準備して頂けないか聞いてみました。
ちょっとまだリリース前なので... 相談してみます
との事だったのですが、もうその日の内に検証用の環境を準備して頂きました!
正直、いままでファーストサーバさんのサーバ(共有)は制約が多く、使いにくくてあまり好きではありませんでした。
しかしこの素早いご対応!ちょっと好きになりました。
準備して頂いたのは、一番安いプランの「ファースト」(月額1,785円)です。

管理画面は普通のファーストサーバ

サーバの管理画面は他のプランと同じ見慣れた管理画面です。
f:id:xross-cube:20110224043705p:image
なので、「サーバの事はよくわからない」という方でも簡単に設定出来ます。
EC-CUBEがインストールされた状態で環境が準備されるので、インストールでつまづく事もありません。

早速検証。1,000点商品を登録してみました。

f:id:xross-cube:20110224043706p:image
例の商品情報生成スクリプトでサクッと生成しました。

  • 商品点数1,000点
  • カテゴリ
    • 大カテゴリ10個
    • 中カテゴリ4個
    • 小カテゴリ3個
  • 規格 1も2も3個づつ
    • 規格分類は100個

Apache benchをかけてみます。

とりあえず軽いのから
表示画面 全商品一覧
コネクト数 10
リクエスト数 50
Server Software:        Apache
Server Hostname:        www.f00-xxx.xxx.xxx.xxx.fs-user.net
Server Port:            80

Document Path:          /products/list.php
Document Length:        82155 bytes

Concurrency Level:      10
Time taken for tests:   12.043 seconds
Complete requests:      50
Failed requests:        0
Write errors:           0
Total transferred:      4126000 bytes
HTML transferred:       4107750 bytes
Requests per second:    4.15 [#/sec] (mean)
Time per request:       2408.654 [ms] (mean)
Time per request:       240.865 [ms] (mean, across all concurrent requests)
Transfer rate:          334.57 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       13   17   4.5     16      42
Processing:  1122 2198 366.7   2283    2831
Waiting:     1023 2102 368.8   2179    2707
Total:       1138 2215 366.9   2300    2844

Percentage of the requests served within a certain time (ms)
  50%   2300
  66%   2357
  75%   2422
  80%   2474
  90%   2556
  95%   2683
  98%   2844
  99%   2844
 100%   2844 (longest request)

大体1~2秒ってところですね。この商品構成でこのスピードは速い!
しかも一番安いプランですからね!
公式サイトに書いてある「同時来店客数5人」は控えめな表記ですね。

ちょっとアクセスを増やします
表示画面 全商品一覧
コネクト数 30
リクエスト数 150
Server Software:        Apache
Server Hostname:        www.f00-xxx.xxx.xxx.xxx.fs-user.net
Server Port:            80

Document Path:          /products/list.php
Document Length:        82155 bytes

Concurrency Level:      30
Time taken for tests:   68.379 seconds
Complete requests:      300
Failed requests:        0
Write errors:           0
Total transferred:      24756000 bytes
HTML transferred:       24646500 bytes
Requests per second:    4.39 [#/sec] (mean)
Time per request:       6837.914 [ms] (mean)
Time per request:       227.930 [ms] (mean, across all concurrent requests)
Transfer rate:          353.55 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       13   18   6.7     15      42
Processing:  1081 6505 1027.3   6748    7445
Waiting:      969 6420 1030.4   6664    7345
Total:       1108 6523 1023.9   6762    7462

Percentage of the requests served within a certain time (ms)
  50%   6762
  66%   6851
  75%   6884
  80%   6918
  90%   7023
  95%   7099
  98%   7198
  99%   7369
 100%   7462 (longest request)

1~6秒、さすがにちょっと遅くなりますね。それでも商品構成を考えればかなり速いです。*2

急なアクセス増加にも対応

キャンペーンを張る、広告を投入するなど、アクセスが一時的に急増する事がか想定されるケースがあります。
そういった場合にも柔軟に対応できます。
一時的なリソース増強オプション、「リソースブースター」は、一時的に一番上のプランに1週間単位で変更出来るものです。


と言う事で、何の心配も無くお客様にお勧めする事ができました。
ファーストサーバさん、ありがとうございました。

ところでファーストサーバさん、concrete5用のクラウドサーバも作ってくれませんかね?
PHP5.3でAPC付けて、MySQL5.5ならOKですよ。

*1:舟木様、非常に素早いご対応ありがとうございました。

*2:同居者が増えた時が気になります。