ページの応答時間を最適化
理由:サイトにアクセスし、ページの読み込み速度が非常に遅い、ユーザーエクスペリエンスは、解約良いではありません
ソリューション:
1、動的な静的なページ
図2に示すように、データベースを最適化します
3、負荷分散を使用して
4、 キャッシュ使用 Redisのとmemcacheのを
動的な静的なページ
ページが頻繁に変更され、大規模な、動的な静的ページへのユーザアクセスされない場合は非常に効果的なソリューションです。5 分または 10分
エッセンス:静的生成するためのHTML ファイルを
利点:ランニングタイムサーバースクリプトを軽減
サーバーの応答時間を削減
PHP 実行順序ファイル
解析 - > コンパイル - > 実行
HTML ページにのみ実行する必要があります
大規模なサイトのまず、基準
1、PV値(ページビュー)ウェブサイトのトラフィック:
コンセプト:ウェブサイト、1日24時間内のすべてのページには、合計金額はレベルの何千、または数百万以上に達し、アクセスされています。
2、UV値(ユニークビジター)ユニーク訪問者:
コンセプト:ウェブサイト、1日24時間内に、当社のウェブサイトを訪問するユーザーの数。数十万人のUV値、
3、独立したIP、
コンセプト:ウェブサイト、1日24時間内には、独立したIPアドレスの数は、当社のサイトにアクセスします。
あなたが会社のローカルエリアネットワークを検討したい場合は、独立したIPの値よりもやや大きいUV。
第二に、問題をもたらす大規模なサイト:
1、高い同時実行。
並行性:同じウェブサイトのアドレスを要求しているどのように多くのユーザーが同じ時点(1秒以内)でのサイト、。
2つの大きなトラフィック(帯域幅)
帯域幅の需要が増加。
3、データストレージの問題。
レコードの内部データテーブルが非常に大きい場合、すぐに目的のデータを見つけるために、GTクラスを達成するための能力です。
どのように解決するために第三に、高い同時実行:
階層化設計、負荷分散とクラスタリングの使用を使用してサイトのアーキテクチャ、。
第四に、どのように大きな流れを解決するために
1 、ウェブサイトのいくつかの大規模なリソースタイプに存在ホットリンクからサイトを防ぐためのリソース
2 、縮小のHTTP リクエストを、
あなたは一つのファイルに結合し、いくつかのスタイルのCSSファイルやJS、背景の一部を、置くことができます。
3 、ブラウザのキャッシュを設定します
そのようなブラウザが内部ブラウザのキャッシュから直接取得同じリソースを要求したときに、ブラウザにキャッシュされたCSS、JS、画像などのリソースの一部ではない非常に頻繁に更新。
4 、圧縮された構成は、データ伝送量を減らします
図5は、リソースの一部が別のサーバーを展開するため、トラフィックのアカウントを比較することができます。
6 、帯域幅にお金を使います。
ファイブ大規模なストレージ・ソリューション:
究極の目標:以下のクエリデータベースクエリのデータベースを照会するデータベースは、迅速にデータを照会します。
1 、キャッシュサーバを使用して。
(1)ディスクキャッシュ(静的なページテクノロジ)
(2)メモリキャッシュ
メモリキャッシュ:
memcacheの、Redisの、MongoDBは、メモリストレージエンジンのMySQLの
図2に示すように、最適化されたデータベース
第六に、静的なページのテクノロジー
動的(操作データベース)PHPページに、それは、静的なページに変換されるの.html
実装段階;
httpリクエストは、データが二つの部分に戻され、ヘッド本体に対する応答情報。
(1)身体に応じてコンテンツデータを取得します。(OB緩衝液)
(2)コンテンツ本体データに応答して、HTMLファイルに書き込まれ、(ますfile_put_contents)
(3)htmlファイルへの直接アクセスを。
1 、OB キャッシュの内容:
OBキャッシュ:コンテンツ体に応答してデータをバッファリングする(出力バッファ)にoutput_buffering。
どのように開くには:
最初の方法:php.iniファイルで、
第二の方法:開くために、ページ内の()関数を使用してのob_start。
違いは、二つの方法で、のob_start()は、現在のページでのみ有効であるということです
図2に示すように、一般的に使用される機能
ob_start();オープン
ob_get_contetns();キャッシュとOBのデータ内容を取得します。
ob_clean() ; //キャッシュとデータOBをクリアし、OBキャッシュは閉じません。
ob_end_clean(); //キャッシュとデータOB、OBをクリアし、キャッシュを閉じます。
ob_flush();プログラム・キャッシュにリフレッシュバッファ(運動、プッシュ)にOB内部//データは、キャッシュが閉じOBではありません。
ob_end_flush(); //リフレッシュバッファ(運動、プッシュ)にOB内のデータは、プログラムと近いOBのキャッシュをキャッシュします。
3 、静的なウェブサイト:
真の静的:本物のHTMLページを生成します。
擬似静的:静的ページは、実際には、表面からアクセス可能であるか、動的ページがアクセスされます。たとえば、次のアドレス:
http://www.abc.com/news-music-id12_10.html
実際にご覧ください。http://www.abc.com/news.php?type=music&id=12&ページ= 10ページ。
擬似静的主にSEOの賛成インチ
実装:
真の静的な方法:
最初:OBのキャッシュ技術を使用すること。
第二:テンプレートの代替技術を使用します
擬似静的実装:Apacheのリライト・メカニズムを使用します(URL書き換えメカニズム)
どのサイトでは、実際の静的に適しているのですか?
Webページには、より頻繁なニュースサイトのいくつかのタイプとして、あまり頻繁に更新し、訪問した、いくつかのサイトは、そのようなサイトの在庫タイプとして、リアルタイムの更新、には適していません、