はじめに | PHP 7 は 5 よりもはるかに高速です。さらに多くの機能があるので、試してみましょう! |
事前準備
PHP 7 と言えば、LAMP や LEMP を実行してはなりません。まず、基盤となるサービスのインストールを準備してください。
これまで、私たちは PHP の高速化を望んでいました。通常は APC、eAccelerator、XCache のいずれかを使用します。今はそれらを忘れて、今後は OPcache を使用してください。これは、PHP 7 の開発者の 1 人である Hui Xinchen によって共同開発された PHP サポート モジュールです。 この実装は LEMP アーキテクチャに基づいており、パッケージ ライブラリは Remi バージョンを使用します。実際の環境に応じてパスと設定値を変更することを忘れないでください。
セットアップを開始します
OPcache パッケージをインストールします。
sudo yum -y install php70-php-opcache
メインプロフィールを編集します。
sudo vi /etc/opt/remi/php70/php.ini
これらのパラメータを追加します。
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1opcache.file_cache=/ home/opcache opcache.huge_code_pages=1
大規模な一時ページング メカニズムである Huge Pages を開始します。詳細な手順については、「Linux カーネル アーカイブ - Huge Pages」を参照してください。私のマシンではテスト結果を 512 に変更するだけで十分です。
sudo sysctl -w vm.nr_hugepages=512
OPcache 専用のディレクトリを作成します。
sudo mkdir /home/opcache sudo chown nginx:nginx /home/opcache
PHP-FPM を再起動すると、OPcache が開始されたことがわかります。
sudo systemctl restart php70-php-fpm
さらに、memcached をインストールすることもできます。名前が示すように、メモリをキャッシュとして使用してシステムの動作を高速化します。
sudo yum -y install memcached
メインプログラムファイルを編集します。
sudo vi /etc/sysconfig/memcached
パラメータはそれほど多くありません。必要に応じて変更してください。
PORT - 端口,别忘了开防火墙。MAXCONN - 总连接数。CACHESIZE - 内存使用量,单位是KB。PORT="11211"USER="memcached"MAXCONN="1024"CACHESIZE="1024"OPTIONS=""
memcached を起動し、起動後に自動的に起動するようにします。
sudo systemctl restart memcached sudo systemctl enable memcached
ファイアウォールを開きます
sudo firewall-cmd --permanent --zone=public --add-port=11211/tcp
次に、memcached for PHP サポート モジュールをインストールします。
えー
PHP-FPM を再起動します。
sudo yum -y install php70-php-pecl-memcached
最後に phpinfo(); 関数の表示結果を見てください。memcached の段落が表示されれば成功です。
実際のテスト結果
これは、記事 OneAPM - PHP 7 を使用して Web アプリケーションを高速化するという記事で、WordPress 4.1.1、Drupal 8、および phpBB 3.1 をテストしたものです。 .3 、MediaWiki 1.24.1、Opencart 2.0.2.0、WardrobeCMS 1.2.0、Geeklog 2.1.0、Magento 1.9.1.1、Traq 3.5.2、Cachet、Moodle 2.9-dev、ZenCart 1.5.4、その他 12 のパッケージ。 WordPress 4.1.1 を例にとると、PHP 7 の読み取り速度 (Read) とレイテンシ (Latency) が 5.3 ~ 5.6 に比べて大幅に向上していることがわかります。