PHPモールサイトは、パフォーマンスや同時アクセスを向上させる方法

大型ショッピングモールのサイトパフォーマンス改善戦略

高性能サーバの使用、高性能データベース、効率的なプログラミング言語と同様に、高:ユーザーアクセスのような多数、高い同時要求、主に以下の点で一般的なショッピングモールのソリューションの顔に大きなショッピングモールサイト、 Webコンテナのプロパティ。しかし、これらのソリューションは、より多くの投資を意味します。
それを行うこの面積が小さい投資のパフォーマンスを最適化する方法はありますか?開発DSmallモールシステムでは、我々は以下の点を使用します。

1、HTMLは、静的な
  静的なページを使用してサイト上のページは、できるだけ多くを達成するように、我々はすべて知っているように、最高の効率は、消費量は、実際には純粋な静的なHTMLページの最小です。

2、画像サーバの分離
  画像が最もリソースを消費するので、我々は基本的に大規模なサイト戦略で分離への応用と絵が採用される必要がある、彼らはすべて独立した、でも多くの台湾の画像サーバです。このサイトのアーキテクチャは、アクセス要求を提供するサーバへの圧力を減らすことができ、デシャンネットワークDSMall多店舗システムはアリクラウドOSSアプリケーションサポート画像分離を使用します。

図3は、データベースクラスタは、
  その後、頻繁にアクセスされるの顔だけでなく、データベース、アプリケーションを満たすことができなくなり、大量のデータでは、私たちはデータベースクラスタを使用する必要があります。

図4は、キャッシュ
  キャッシュの用語は、キャッシュを使用するための多くの場所との接触を持っている技術に従事します。キャッシュでのウェブサイトのアーキテクチャとWeb開発も非常に重要です。

5、ロードバランシング
  ロードバランシングは、高負荷およびソリューションを使用して同時要求のハイエンド大量に対処するための大規模なサイトの訪問になります。 

図6に示すように、データベースの最適化
6.1、正しいストレージエンジン選択
MySQLでは、例えば、MyISAMテーブルとInnoDBテーブルを含む二ストレージエンジンは、各エンジンのすべての特性があります。

MyISAMテーブルは、クエリを多数必要とする用途に適しています。InnoDBの傾向は、いくつかの小さなアプリケーションのために、それはMyISAMテーブルよりも遅くなり、非常に複雑なストレージエンジンになります。しかし、それは、トランザクションをサポートするために、「行ロック」をサポートしています。

図2は、フィールドのデータタイプを最適化します

原理のデータ・タイプ、小さいカラム効率。データベースエンジンのほとんどは、ハードディスクが最も重要なボトルネックです。したがって、データは、ハードディスクへのアクセスを減らすため、コンパクトなケースは、非常に参考になるとなります。

(例えば、構成表DSMallデータベース用)テーブルのみ少数の列が、我々はINTキーを使用してショットを呼び出すための理由がない場合は、MEDIUMINT、SMALLINT TINYINTを使用することができます以下より経済的になります。あなたは良いよりDATETIME日付を使用して、時間を記録していない場合。もちろん、あなたも拡張のための十分な十分な余地を残しておく必要があります。

3、インデックスフィールドを追加します

インデックスは、必ずしも主キーまたはユニークなフィールドでの使用ではありません。フィールドがあれば、あなたのテーブル場合は、多くの場合、それがインデックス化のために優れている、あなたが検索する必要があります。

4、選択を使用して回避しようと  、データベースから大量のデータを読んで、クエリが遅くなります。そして、あなたのWEBアプリケーションサーバとデータベースサーバがスタンドアロンサーバであり、それはネットワークのデータ転送の負荷が増加します。あなたは、テーブル内のデータを照会する場合であっても多くのフィールドを持っていますが、また使用しないようにしてください

図5は、代わりにVARCHARの使用ENUM
ENUMタイプは、非常に高速でコンパクトです。実際には、その保存はTINYINTですが、文字列として番組にその外観。たとえば、性別やクラスのステータスの値フィールドが固定されて、あなたの代わりにVARCHARのENUMを使用する必要があります。

NOT NULLでの使用を可能な限り6、
あなたがNULL値を使用することは非常に特別な理由がない限り、あなたはあなたのフィールドがNOT NULLを保持させてください。実際には、NULLはまた、追加のスペースが必要である、と比較を行うと、プログラムはより複雑になります。これは、NULLを使用することはできませんされていない、まだいくつかのケースでは、NULL値を使用する必要があります。

第五に、フロントエンドの最適化
エンド・サーバとデータベースの後に終了した最適化は、我々はまた、画像、JSとCSSの最適化を含む、フロントエンドインターフェースと、いくつかのリソースファイルを最適化する必要があります。

私たちは、ソフトウェアが最適化に関連した具体的な提言を与える、テストと分析のためのWebパフォーマンステストツールを使用することをお勧めします。例えば、合併JS、CSSの合併、結合された画像等のため。

おすすめ

転載: blog.51cto.com/13938514/2415329