私はYIIを使用し始めて、最初のアプリを完成させました。残念ながら、打ち上げの日は近いですし、私はこのアプリを超高速にしたいです。これまでのところ、スピードアップする唯一の方法は、standard cachingです。私のアプリをスピードアップするために他にどんな方法がありますか?YIIアプリケーションを高速化する最も簡単な方法は?
答えて
まず、公式ガイドのPerformance Tuningを読んでください。さらに:
- Check HTTP caching。
- PHPを更新します。それぞれのメジャーバージョンはあなたに良いブーストを与えます。
- セッションには、redis(または少なくともデータベース)を使用します(デフォルトのPHPセッションはファイルを使用しており、ブロックしています)。
- nginxの代わりに(または)apacheを使用することを検討してください。コンテンツの方がはるかに優れています。
- CDNの使用を検討してください。
- データベースを微調整します。
これらはすべて比較的簡単な一般的なものです。後でそれが受け入れられない場合は、想定しないでください。プロフィール。
「APC/'{$ other_opcache}を有効にする」の部分を強調してください。おそらく[このガイド](http://www.yiiframework.com/wiki/312/getting-the-most-out-of-apc-for-yii/)と組み合わせてください。 HTH :) – DaSourcerer
アプリのほとんどがキャッシュ可能な場合は、ニスのようなプロキシを試してください。このレシピで
1.次のベストプラクティス
は、我々は最高のパフォーマンスのためのYiiを設定する方法について説明しますと応答性のアプリケーションを構築するいくつかの追加の原則が表示されます。これらの原則は一般的なものとYii関連のものです。したがって、Yiiを使用しなくてもこれらの一部を適用することができます。
取得準備
APC(http://www.php.net/manual/en/apc.installation.php)
をインストールyiic webappの罰金であるPHPで
ネイティブセッション処理を扱うセッションを2.Speeding
を使用して、新鮮なYiiアプリケーションを生成しますほとんどの場合。あなたはセッションが処理される方法を変更したいと思うでしょう、なぜ、少なくとも2つの理由があります。
複数のサーバを使用する場合は、あなたがデフォルトのPHPのセッションがファイルを使用し、両方のサーバーのための共通のセッションストレージを持っている必要があり
ので、可能な最大のパフォーマンスは、ディスクI/O
3.Usingキャッシュの依存関係とチェーン
のYiiは、多くのキャッシュバックエンドをサポートしていますが、実際のYiiキャッシュ柔軟な依存関係と依存連鎖のサポートである作るものによって制限されています。キャッシュされた情報はいつでも変更できるため、1時間だけデータをキャッシュすることはできません。
このレシピでは、ページ全体をキャッシュし、更新された時点で常に最新のデータを取得する方法を見ていきます。ページはダッシュボードタイプになり、5つの最新記事が追加され、アカウントの合計が計算されます。操作は追加されたときに編集することはできませんが、記事を編集できることに注意してください。 Yiiアプリケーションを展開するためのベストプラクティスのすべてが適用され、あなたはまだあなたが望むパフォーマンスを持っていない場合のYii
を使用してアプリケーションを4.Profiling
は、その後、おそらく、といくつかのボトルネックがありますアプリケーション自体これらのボトルネックを処理する際の主な原則は、何も想定してはならず、コードを最適化しようとする前に常にテストしプロファイルすることです。
デフォルトのPHPセッションの問題は、ディスクI/Oではなく、これらがブロックされているという事実です。 –
PHP Mysqlの一般的なパフォーマンスに向いています。
1)Memcache
Memcahcedオープンソース分散メモリオブジェクトキャッシュシステムでは、データベースサーバの負荷を減らすことにより、動的なWebアプリケーションを高速化するのに役立ちます。 PHP
- 1. WebKitベースのWindowsアプリケーションを構築する最速/最も簡単な方法は?
- 2. .NETで高速RPCを取得する最も簡単な方法は?
- 3. UIImageViewの高さを上げる最も簡単な方法は?
- 4. 最も簡単な方法
- 5. 最も簡単な方法
- 6. 非プログラマがWIPアプリケーションをテストする最も簡単な方法
- 7. Javaのテキストファイルを暗号化する最も簡単な方法
- 8. C#System.Typeをサブクラス化する最も簡単な方法
- 9. Grails:GORMでhashmapを永続化する最も簡単な方法
- 10. 最も簡単な方法は、プログラム
- 11. 最も簡単な方法は、垂直
- 12. 最も簡単な方法は、Express
- 13. 最も簡単な方法は、
- 14. ユーザーの平均速度を計算する最も簡単な方法は?
- 15. 比較的簡単なJava POJOをシリアル化する最速の方法は?
- 16. 簡単な高速双方向暗号化(PHPで)
- 17. ナビゲーションバー以外のビューの高さを取得する最も簡単で簡単な方法は何ですか?
- 18. 最も簡単な一連のjavascript/jQueryイベントの最新のものを守る最も簡単な方法
- 19. 作成と最も簡単な方法
- 20. 最も簡単な方法 - Ruby on Rails
- 21. 最も簡単な方法realloc
- 22. WPFアプリケーションを配備する最も簡単な方法は何ですか?
- 23. node/jsアプリケーションを起動する最も簡単な方法は何ですか?
- 24. 行をアニメーション化する最も簡単な方法は何ですか?
- 25. インタラクティブなPythonコンソールをポップアップする最も簡単な方法は?
- 26. SharePoint 2010:Webアプリケーションのアイテム数を取得する最も簡単な方法は?
- 27. OS Xアプリケーション開発を開始する最も簡単な方法は?
- 28. Evernote Webアプリケーションに通知を送信する最も簡単な方法は?
- 29. asio :: ip :: address_v6()を初期化する最も簡単な方法は?
- 30. ggplot2カラースケールの連続スケールを離散化する最も簡単な方法は?
のために回す
2)MySQL Performance Tuning
3)Webサーバーのパフォーマンスあなたは[パフォーマンスチューニング](http://www.yiiframework.com/doc/guide/1.1/en/topicsについて読みました。パフォーマンス)? –
それは私が必要とするすべての答えです。この投稿を削除しますか?またはそれを閉じますか? – coderama
代わりに、@ bool.devは9回upvoted答えを実際の答えに入れることができ、coderamaはそれを受け入れることができます。それには何も間違っていません。 –