トラフィックの多いウェブサイト向けのソリューション

トラフィックの多いウェブサイト向けのソリューション
まず、サーバーのハードウェアが現在のトラフィックをサポートするのに十分かどうかを確認します。
通常の P4 サーバーは、通常、1 日あたり最大 100,000 個の独立した IP をサポートできます。トラフィックがこれより大きい場合は、まず、より高性能な専用サーバーを構成して問題を解決する必要があります。そうしないと、最適化を行ってもパフォーマンスの問題を完全に解決することはできません。
2 番目: 次に、アクセスを最適化します。データベース<br />フロントエンドが完全に静的で、データベースにまったくアクセスする必要がないのがベストです。ただし、頻繁に更新される Web サイトの場合、静的化では特定の機能に対応できないことがよくあります。
キャッシュは、動的データをキャッシュ ファイルに保存するもう 1 つのソリューションです。動的 Web ページは、データベースにアクセスすることなく、これらのファイルを直接呼び出します。WordPress と Z-Blog はどちらも、このキャッシュ テクノロジを広範に使用しています。私も同じ原理に基づいた Z-Blog 用のカウンター プラグインを作成しました。どうしてもデータベースへのアクセスを避けられない場合は、データベース クエリ SQL を最適化してみてください。Select * from などのステートメントの使用は避けてください。各クエリは必要な結果のみを返すため、短時間に大量の SQL クエリを実行する必要がなくなります。
同じフィールドで比較操作を実行し、確立されたインデックス フィールドでの関数操作を最小限に抑えるのが最適です。究極の結果を得るには、コードを最適化する必要があります。
3番目に、外部ホットリンクは禁止されています。
外部の Web サイトやファイルへのホットリンクは、多くの場合、大きな負荷がかかるため、独自の画像やファイルへの外部ホットリンクは厳しく制限する必要があります。幸いなことに、ホットリンクは参照を通じて簡単に制御でき、構成を通じてホットリンクを禁止できます。IIS には、同じ機能を実現できるサードパーティの ISAPI もいくつかあります。もちろん、偽造された参照はホットリンクを実現するためにも使用されますが、現時点では故意に参照を偽造してホットリンクを実現する人はあまりいないため、今のところは無視するか、画像に透かしを追加するなど、非技術的な手段を使用して解決することができます。
4番目に、大きなファイルのダウンロードを制御します。
大きなファイルをダウンロードすると大量のトラフィックが発生し、SCSI 以外のハード ドライブの場合は、大量のファイルをダウンロードすると CPU が消費され、Web サイトの応答性が低下します。したがって、2M を超える大きなファイルをダウンロード用に提供しないようにしてください。提供する必要がある場合は、大きなファイルを別のサーバーに配置することをお勧めします。
5 番目に、異なるホストを使用してメイントラフィックを転送します。ファイルを異なるホストに配置し、ユーザーがダウンロードできるように異なるミラーを提供します。たとえば、RSS ファイルが大量のトラフィックを消費すると思われる場合は、FeedBurner や FeedSky などのサービスを使用して、RSS 出力を他のホストに配置することができます。このようにすると、他の人のアクセスによるトラフィックの圧力は主に FeedBurner ホストに集中し、RSS が大量のリソースを消費することがなくなります。
6 番目に、トラフィック分析および統計ソフトウェアを使用します。
ウェブサイトのトラフィック分析および統計ソフトウェアを使用すると、どの領域で多くのトラフィックが消費されているか、どのページを最適化する必要があるかを即座に判断できます。したがって、トラフィックの問題を解決するには、正確な統計分析が必要です。私がお勧めするトラフィック分析・統計ソフトウェアは Analytics (Google Analytics) です。使ってみてその効果はとても良いと感じています。後ほど、Google Analytics を使う上での常識やスキルを詳しく紹介します。
7番目: 4. トランザクション処理:
a. データの整合性を確保します。たとえば、追加と変更が同時に行われる場合、両方が確立されれば両方が実行され、一方が失敗すると両方とも失敗します。
mysql_query("開始");
mysql_query(“INSERT INTO customerinfo (name) VALUES ('$name1′)”);
mysql_query(“SELECT * FROM `orderinfo` where customerid=".$id”);
mysql_query("コミット");

<<:  Docker を使用した RabbitMQ 環境のデプロイの詳細な紹介

>>:  HTMLインライン要素とブロックレベル要素の基本概念と使用例

推薦する

Mybatis+mysqlはストアドプロシージャを使用してシリアル番号実装コードを生成します。

同時操作によるデータの重複を避けるために、データベースを操作するときにストアドプロシージャを使用して...

Linux ユーザー状態とカーネル状態間の通信方法の詳細な説明

CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...

Vue のループフォーム項目例の詳細な説明

場合によっては、ユーザーがボタンをクリックして同様のフォームを追加し、クリックごとに 1 回追加でき...

JSは5つ星の賞賛効果を達成

JS を使用してオブジェクト指向メソッドを実装し、JD.com の 5 つ星レビュー効果を実現します...

CSS BEM 命名標準の概要 (推奨)

1 BEM命名標準とはBem は、ブロック、要素、修飾子の略語であり、Yandex チームによって...

Linux lseek関数の使い方の詳しい説明

注:記事に誤りがある場合は、メッセージを残して指摘してください。ご協力ありがとうございます。名前名前...

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

mysql8.0.19 の基本データ型の詳細な説明

MySQL 基本データ型一般的な MySQL データ型の概要 ![1036857-201708011...

MySQLにおけるSQLの実行順序についてのちょっとした質問

今日、仕事中に左結合に関するSQLの問題に遭遇しました。後で解決しましたが、この問題を通じてSQLの...

HTML で Flash を読み込む方法 (2 つの実装方法)

最初の方法: CSSコード:コードをコピーコードは次のとおりです。 .b970-a{幅:970px;...

mysqlはルートユーザーと一般ユーザーを作成し、機能を変更および削除します。

方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> ...

Windows で virtualenv を使用して仮想環境を作成する方法 (2 つの方法)

オペレーティング システム: windows10_x64 Python バージョン: 3.6.8仮想...

Nginx で複数のドメイン名がドメインをまたいでアクセスできるようにマップを使用する方法

一般的なNginx構成ではクロスドメインが可能 サーバー{ 11111 を聞いてください。 serv...

MySQL Order By 複数フィールドのソートルールのコード例

事前に言っておく気まぐれですが、MySQL の order by sorting にどのようなルール...

JavaScript実行メカニズムの詳細な紹介

目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...