2012-12-03 19 views
18

私はYIIを使用し始めて、最初のアプリを完成させました。残念ながら、打ち上げの日は近いですし、私はこのアプリを超高速にしたいです。これまでのところ、スピードアップする唯一の方法は、standard cachingです。私のアプリをスピードアップするために他にどんな方法がありますか?YIIアプリケーションを高速化する最も簡単な方法は?

+13

のために回す

2)MySQL Performance Tuning

3)Webサーバーのパフォーマンスあなたは[パフォーマンスチューニング](http://www.yiiframework.com/doc/guide/1.1/en/topicsについて読みました。パフォーマンス)? –

+0

それは私が必要とするすべての答えです。この投稿を削除しますか?またはそれを閉じますか? – coderama

+0

代わりに、@ bool.devは9回upvoted答えを実際の答えに入れることができ、coderamaはそれを受け入れることができます。それには何も間違っていません。 –

答えて

19

まず、公式ガイドのPerformance Tuningを読んでください。さらに:

  • Check HTTP caching
  • PHPを更新します。それぞれのメジャーバージョンはあなたに良いブーストを与えます。
  • セッションには、redis(または少なくともデータベース)を使用します(デフォルトのPHPセッションはファイルを使用しており、ブロックしています)。
  • nginxの代わりに(または)apacheを使用することを検討してください。コンテンツの方がはるかに優れています。
  • CDNの使用を検討してください。
  • データベースを微調整します。

これらはすべて比較的簡単な一般的なものです。後でそれが受け入れられない場合は、想定しないでください。プロフィール。

+3

「APC/'{$ other_opcache}を有効にする」の部分を強調してください。おそらく[このガイド](http://www.yiiframework.com/wiki/312/getting-the-most-out-of-apc-for-yii/)と組み合わせてください。 HTH :) – DaSourcerer

1

アプリのほとんどがキャッシュ可能な場合は、ニスのようなプロキシを試してください。このレシピで

2

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

は、その後、おそらく、といくつかのボトルネックがありますアプリケーション自体これらのボトルネックを処理する際の主な原則は、何も想定してはならず、コードを最適化しようとする前に常にテストしプロファイルすることです。

+0

デフォルトのPHPセッションの問題は、ディスクI/Oではなく、これらがブロックされているという事実です。 –

1

PHP Mysqlの一般的なパフォーマンスに向いています。

1)Memcache

Memcahcedオープンソース分散メモリオブジェクトキャッシュシステムでは、データベースサーバの負荷を減らすことにより、動的なWebアプリケーションを高速化するのに役立ちます。 PHP

関連する問題