2016-06-16 6 views
-4

私は安らかなサービスを提供するPHPアプリケーションを持っていますが、私はxcacheによってスピードアップしたいのですが、想像もしません。xcacheは私のPHPアプリケーションをスピードアップしません

私のPHPアプリケーションはyii 1.1をベースにしていますが、関数testは重いdbのクエリと計算を行います.xcacheを使用しない場合の経過時間は600ms(300ms dbクエリ)で、xcacheを使用するとすべて同じです。

xcacheが本当​​に動作しているのは、xcache管理ページにアクセスすることです。

Xcacheは、理論的にはアプリケーションの速度を上げることができる反復演算コードの作成を避けることで時間を節約できますが、ここでは説明しませんので、誰かが説明できますか?

+0

オペコード・キャッシュがコンパイル・ステップをスピードアップします。実際にオペコードを実行するのにかかる時間を短縮したり、IOの処理を行うことはありません。 – Steve

+0

オペコードキャッシングは、コード自体の解析/レキシング(コンパイル)時間をなくしますが、データベースクエリに何の違いもないか、実際にはPHPコード –

+0

で重い計算を実行することはありません。テストはcurlコマンド、コンパイルの時間を含める必要があります。 – Nick

答えて

0

私はその理由はコンパイル時間が全体の小さな部分だけだと思います。私はそれをテストし、結果を後でここに入れます。

+0

私はちょうど今、別のテストをやったことがあります。このシナリオでは、エコーのような簡単なコマンドを入れて、確かに、xcacheはアプリケーションを3倍高速化します。 – Nick

0

php coreの一部としてバンドルされているphp iniで、opcacheを有効にしてみてください。より良い選択肢は、重いクエリを試すことです。

0

アプリケーションをプロファイルします。ボトルネックがIOまたは一部の最適化されていないDBクエリである場合は、大幅な高速化は期待できません。

0

Opcacheが現在標準であり、使用することを強くお勧めします。

Opcacheは、Opcodeキャッシュのすべての設定と取得を透過的に管理するため、インストールする以外には何もする必要はありません。

また、データベースインデックスを調べ、EXPLAIN(MySQLを使用している場合)を使用して結果をキャッシュすることで、クエリの診断を試みることができます。

関連する問題