2016-08-12 9 views
1

私はSymfony3フレームワーク標準版をインストールしました。私はホームページ(app.php prod)を開こうとしており、それは300〜400msで読み込まれます。 これは私のプロファイラ情報です: enter image description here 私もphp7を使用しています。なぜSymfony3が遅いのですか?

なぜそれは長いですか?

+0

そして、どのようにプロダクションでdevツールバーを入手できますか? – malcolm

+0

あなたはそうです、このパネルはプロダクションからではありませんが、これは私のプロジェクトのフードの下で何が起こっているかを示す唯一の方法です。 – TheMrbikus

答えて

5

ヒューウィーザマービクス〜

Zend OPCacheを最適化することができます。 は、ここでは、コードキャッシュが期限切れになると、あなたのコードが変更されているかどうかを確認する必要があり、いくつかの推奨設定する頻度(秒単位)を基本的に入れ

opcache.revalidate_freq

、です。 0は、毎回のリクエストごとにPHPコードをチェックすることを意味します(多くのstatシステムコールを追加します)。開発環境で0に設定します。生産は次の設定のために重要ではありません。

opcache.validate_timestamps
これを有効にすると、PHPはopcache.revalidate_freqのファイルタイムスタンプをチェックします。
無効にすると、opcache.revaliate_freqは無視され、PHPファイルの更新コードは決して確認されません。したがって、コードを変更した場合、PHPを再起動または再ロードするまでは変更は実際には実行されません(再ロードは強制的にkill -SIGUSR2になります)。
はい、これはお尻の痛みですが、それを使用する必要があります。どうして?コードを更新またはデプロイしている間に、新しいコードファイルが古いコードファイルと混在する可能性があります。結果は不明です。それは多くのPHPファイルは、最大で、一度にメモリに保持することができる方法

opcache.max_accelerated_files
コントロール地獄のように危険なのです。プロジェクトには、これで設定したものよりも少ないファイルがあることが重要です。 〜6000ファイルのコードベースの場合、maxacceleratedファイルには素数8000を使用します。
find . -type f -print | grep php | wc -lを実行すると、コードベース内のファイル数をすばやく計算できます。

opcache.memory_consumption
デフォルトは64MBです。関数opcachegetstatus()を使用すると、メモリopcacheの消費量とその量を増やす必要があるかどうかを知ることができます。

opcache.interned_strings_buffer
0のドキュメントのようにかなりきちんとした設定です。PHPはパフォーマンスを向上させるためにstring interningというテクニックを使用しています。たとえば、コードに "foobar"という文字列が1000回ある場合、内部的にPHPはこの文字列に対して1つの不変変数を格納し、あなたがそれを使用する999回。クール。
この設定では、1つのSINGLE php-fpmプロセスごとにこれらの不変の文字列のプールを持つ代わりに、次のレベルに進みます。この設定では、すべてのphp-fpmプロセスで共有されます。特に大きなアプリケーションでは、メモリを節約し、パフォーマンスを向上させます。
値はメガバイト単位で設定されているため、16MBの場合は「16」に設定してください。デフォルト値は4MBです。

opcache.fast_shutdown
もう1つ興味深い設定であり、有用な文書はありません。 "より速いシャットダウンを可能にする"。
大丈夫です。それが私を助けてくれます。これが実際に行うことは、レスポンスを高速化し、phpワーカーをリサイクルするために、単一のリクエストの最後にコード内のデストラクタを呼び出すためのより高速なメカニズムを提供することです。
1に設定して電源を入れます。

opcache=1 
opcache.memory_consumption=256 
opcache.interned_strings_buffer=16 
opcache.max_accelerated_files=8000 
opcache.validate_timestamps=0 
opcache.revalidate_freq=0 
opcache.fast_shutdown=1 

私はそれが

真心を込め、
Precielあなたのパフォーマンスの向上に役立つことを願っています。

0
  • OPCache PHP7を使用しますApaを使用するche PHP-FPM。

フォームのレンダリング操作中に電子メールの送信プロセスが遅くなることがあります。空のテストコントローラを作成します。

関連する問題