YII を使い始めたばかりで、最初のアプリを完成させることができました。残念ながら、発売日が近づいているので、このアプリを超高速にしたいと思っています。これまでのところ、私が遭遇した高速化の唯一の方法は、標準キャッシングです。アプリを高速化するには、他にどのような方法がありますか?
4 に答える
1. ベスト プラクティスに従う
このレシピでは、最高のパフォーマンスを得るために Yii を構成する方法と、レスポンシブなアプリケーションを構築するための追加の原則について説明します。これらの原則は一般的なものであり、Yii 関連のものでもあります。したがって、Yii を使用しなくても、これらのいくつかを適用できます。
準備中
APC をインストールします ( http://www.php.net/manual/en/apc.installation.php )
yiic webapp を使用して新しい Yii アプリケーションを生成する
2.セッション処理の高速化
PHP でのネイティブ セッション処理は、ほとんどの場合問題ありません。セッションの処理方法を変更する理由として、少なくとも 2 つの理由が考えられます。
複数のサーバーを使用する場合、両方のサーバーに共通のセッション ストレージが必要です。
デフォルトの PHP セッションはファイルを使用するため、可能な最大パフォーマンスはディスク I/O によって制限されます
3.キャッシュの依存関係とチェーンの使用
Yii は多くのキャッシュ バックエンドをサポートしていますが、Yii キャッシュを本当に柔軟にしているのは、依存関係と依存関係連鎖のサポートです。キャッシュされた情報はいつでも変更される可能性があるため、単純に 1 時間だけデータをキャッシュすることはできない場合があります。
このレシピでは、ページ全体をキャッシュし、更新時に常に新しいデータを取得する方法を説明します。このページはダッシュボード タイプで、追加された最新の 5 つの記事と、アカウントに対して計算された合計が表示されます。オペレーションは追加されたので編集できませんが、アーティクルは編集できることに注意してください。
4.Yii によるアプリケーションのプロファイリング
Yii アプリケーションをデプロイするためのベスト プラクティスをすべて適用しても、必要なパフォーマンスが得られない場合は、アプリケーション自体にボトルネックがある可能性が最も高いでしょう。これらのボトルネックに対処する際の主な原則は、何も仮定してはならず、コードを最適化する前に常にテストしてプロファイリングすることです。
アプリの大部分がキャッシュ可能な場合は、ワニスのようなプロキシを試す必要があります。
一般的な PHP Mysql パフォーマンス ターニングに進みます。
1)メムキャッシュ
Memcahced オープン ソース分散メモリ オブジェクト キャッシング システムは、データベース サーバーの負荷を軽減することにより、動的な Web アプリケーションを高速化するのに役立ちます。
3) PHP の Web サーバー パフォーマンス ターニング