カテゴリー : サーバー

PHP7にはOPcache


PHP5.3のサポート期限の問題もあり
重い腰を上げてPHP7(7.1)にアップグレード

負荷等を確認するために、ロードバランサー配下の3台中1台だけを変更

最初にやったことは

  • HTTPD 2.2 → 2.4
  • PHP 5.3 → 7.1
  • APC → APCu

なんか今までより負荷ったので、チューニング

  • OPcache 追加

と言ってもこれだけ

元々プログラムをそれなりにチューニングしてるので
大した負荷がないのでアレだけど

CPU使用率グラフ見て直ぐに分かる効果!

CPU使用率グラフ

CPU使用率グラフ

OPcache半端ないって!

Node.jsでSSL通信(iOS8, iOS9のサファリでは注意)


Node.jsでSSL通信させる書き方

var https = require('https');
var fs = require('fs');
var options = {
    key: fs.readFileSync('キーのファイルパス'),
    cert: fs.readFileSync('証明書のファイルパス'),
    ca: fs.readFileSync('中間証明書のファイルパス')
};
https.createServer(options, function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(1337, "0.0.0.0");

ここで重要なのが中間証明書(ca)の設定で、
以前はこのcaの設定が無くても動いてたのに、
iOS8以降のサファリでは動かない場合あり。
特にsquidなどのプロキシ経由など。

AWS EC2 t2インスタンスの実力


AWSに新しく追加されたEC2インスタンスt2を試してみた。

元々、2台のm1.smallをELB配下で運用していたところに、hvm仕様にイメージを移行したものをt2.smallで起動しELBに追加した結果。

下記グラフのようになった。
これは費用対効果かなり高いんじゃないでしょうか!

CPU利用率

グラフの水色とオレンジがm1.smallで、緑がt2.smallですが格段に良いのがわかります。

hvm仕様にイメージを変更するのは面倒ですが、それをやるだけの価値は十分あると思います。

(動作しているものはAmazon Linux上でApache+PHPでのアプリケーション、DBは別サーバ)