未分類

前回3~4倍遅くなるということは分かっていたのですが、

PHPのリリース日とサポート期限 – Qiita

などを見てしまうと、こうせざるをえませんでした。

共有レンタルサーバの限界を見た気がします。

Herokuであればapacheなどを共有する必要もなく、コンテナごとにいくらでも選べるわけです。常駐プロセス問題も30分ルールで解決してるし最強です。

VPSなら管理権限も与えられて全部自由です。

まあVPSを借りるのが勿体ないと感じたから共有サーバなんですけどね。Herokuも考えたけど、DB容量が不足してました。PHP7でLaravelも出来る!前向きに捉えます。

未分類

さて、VALUE-SERVERでは、

  • mod_phpだけどphp5という構成
  • CGI版だけどphp7という構成

がある。

普通に考えると言語固有モジュール版であるmod_phpの方が早い。しかし、バージョンアップにより何倍も早くなるというphpではどちらが速いのかよく分からない。

幸いにもサブドメインのwww.elephantcat.workでは別のphpを設定できるので、こちらにCGI+php7を設定し、前回同様の測定をやってみた。

結果

PatternTime[s]Effective Time[s]
static HTML4.85
mod_php5 + PHP5.66.121.27
mod_cgi + PHP7.39.184.33

Effective TimeはTimeからstatic HTMLパターンの時間を引いた時間です。こうすることにより、純粋にPHPに関連する時間だけが残ります。

CGI php7ではmod_php5の約3~4倍程度の時間に収まっています。が、やはりCGIの方が遅いようです。

未分類

前書き

前回はCGIのbottleとdjangoを50回取得した時間を比較しました。

では、WordPressを推してるVALUE-SERVERが力を入れてそうなPHPだと、どれくらいの時間なのでしょうか?

ただの静的なHTMLページも加えて比較してみました。

加えたもの

<?php echo "Hello, World"; ?>
Hello, World!

比較用のシェルはこうなります。

for url in django.cgi/polls/ hello.cgi/ hello.php hello.html;do
        time bash -c "for i in {0..99};do wget -q -O - https://elephantcat.work/cgi-bin/$url >/dev/null;done"
done

結果

Patterntime[s]
CGI Python + bottle 22.22
CGI Python + django 66.00
mod_php PHP56.12
static HTML4.85

これがCGI及びPythonインタプリタの起動の遅さということです。

なお、計測器からelephantcat.workへのping100回の平均値は6.421msでした。

未分類

前回前々回で作成したHello, World!なアプリを外からGetして時間を測定してみました。

for url in django.cgi/polls/ hello.cgi/;do
        time bash -c "for i in {0..49};do wget -q -O - https://elephantcat.work/cgi-bin/$url >/dev/null;done"
done

結果は

0.33user 0.31system 0:31.69elapsed 2%CPU (0avgtext+0avgdata 7176maxresident)k
0inputs+256outputs (0major+21808minor)pagefaults 0swaps
0.30user 0.34system 0:10.98elapsed 5%CPU (0avgtext+0avgdata 7180maxresident)k
0inputs+88outputs (0major+21767minor)pagefaults 0swaps
フレームワーク 50回取得にかかった時間[秒]
django 31.7
bottle 11.0

django遅いのは分かるけど、bottleでも十分遅いと思う。

CGI Python恐るべし。