WordPress のスケーリング
Web サイトのトラフィックが増加すると、サーバーの負荷も増加します。速度に追いつくには、2 つの可能性がscale up
あります。 - ボックスのサイズを大きくする - これは特に AWS では - 両方向のスケーリングのダウンタイムなどの他の欠点に加えて、明らかに制限があります。
scale out
: トラフィックを分割し、複数のマシンに作業を任せます。トラフィックがしきい値を超えて増加したときにマシンを追加し、トラフィックのレベルが低くなったときにパワーを削除するだけです.
通常のセットアップでのスケーリングは、Web サーバーまたはデータベース サーバーのいずれかで行うことができます。AWS は両方をサポートします。データベースは一般的なボトルネックであり、この質問は実際にこれに対処することを望んでいるため、ここでデータベースのスケーリングについて説明します。
Amazon RDS (マネージド MySQL SaaS) は、データベースのリードレプリカを作成するためのワンクリック ソリューションを提供します。データベースの世界では、リード レプリカはレプリケーション スレーブと呼ばれます。マスター サーバーで実行されたすべての変更クエリは、スレーブ マシンで自動的に再生されます。
ユーザーにサービスを提供するために必要な数のリードレプリカを作成できます。ここからが複雑な部分です。READレプリカについて話しています。つまり、すべてのインスタンスでランダムにクエリのバランスを取ることはできません。マスター サーバーのみがクエリの書き込みを行います。
追加のマシンが必要な MySQL プロキシのようなデータベース プロキシを使用すると、クエリ タイプを分割し、負荷を均等に分散できます。アプリケーションはこのプロキシと通信するため、それ自体を変更する必要はありません。
Wordpress はマスター/スレーブ セットアップ用に設計されておらず、これはネイティブでサポートされていませんが、トラフィックの多いブログがたくさんあることは誰もが知っています。
幸いなことに、HyperDB というソリューションがあります。
http://wordpress.org/extend/plugins/hyperdb/
これは、Wordpress プラグインです。
- サーバーの読み取りと書き込み (レプリケーション)
- 読み取りと書き込みの設定可能な優先順位
- ローカルおよびリモートのデータセンター
- プライベート ネットワークとパブリック ネットワーク
- 異なるデータベース/ホスト上の異なるテーブル
- スマート ポストライト マスター読み取り
- ダウンしたホストのフェイルオーバー
- プロファイリングの高度な統計
このプラグインは、Wordpress のデフォルトのデータベース抽象化レイヤーを置き換えます。これは、Wordpress チームによって開発され、積極的に使用されています。
ダウンロードして、インストール手順に注意深く従ってください。
楽しむ!