web-dev-qa-db-ja.com

非常に大規模なWebサイト用のWordPress

私は検索して検索しましたが、オンラインで答えが見つかりませんでした。また、私はこれをStackOverflowに投稿しましたが、どうやらそれは大丈夫ではなかったので、ここで再投稿しました。大丈夫だと思います。

私はこのWebサイトを非常に大きく持っています:たくさんの 記事 コメント いいね (記事ではFacebookではなく自分自身が好きです)、 評価 記事の場合、 複数のユーザー that それぞれブログがある場合 フォーラム ユーザーウォール ユーザーの友達 など.

私のチームと私は5〜6年前にCakePHPでそれを作りました、そして今、クライアントはそれを作り直したいです。私はWordPressが記事やものへの傾向を考えると良い解決策になると思いました、そしてWordPress(少なくとも私は思う)は記事とものについて最もよく知っています。私はチェックしました、そしてWordPressは複数のブログをサポートします、私はユーザーのフィールドをカスタマイズすることができます、私はユーザー関係、ユーザーギャラリーとすべてをすることができます。また、私はWordPress(約10)でいくつかのテーマをやってきました、そして私はそれがコーディングされている方法が本当に好きです。

WordPressでそれを作り直すことは良い解決策ですか?約 50,000件の記事 および各約 100件のコメント および約 100,000人のユーザー を考慮すると、WordPressは1秒以内にWebサイトを表示できます。 (サーバー側だけで、CSS、JS、その他のものは含みません).

私の知る限りでは、WordPressは20から30のテーブル(MySQL)しか持っていませんが、現在Webサイトには180のテーブルがあります。そのため、180テーブル分の情報を約20〜30テーブルに収めることができます。遅くなりすぎたり、混んでいたりしませんか。

長い質問ですみませんが、私は私が正しい決断をしていることを確認したいと思います。一言で言えば:たくさんの(そして私はたくさんのことを意味します)大量のトラフィックを持つWebサイトにとって、WordPressは実行可能なソリューションですか?

3
ciprianmocanu

... WordPressは1秒以内にウェブサイトをレンダリングすることができるでしょう...

WordPressは、記述しているコンテンツの量とユーザーベースに合わせて完全にスケーラブルです。

1秒のページロードを表示し、データベースサーバー(mysql、maria)も高速に応答できるようにするには、httpd(Apache/nginx)の処理能力が必要です。

また、さまざまなhttpdおよびmysqlユーティリティを使用して、負荷を処理し、php設定およびopcodeキャッシングを使用してサーバーを設定する必要があります。

高性能WPサイトとスケーラビリティに関する情報は、すでにあらゆる種類のものがあります。 http://www.google.com/search?q=is+wordpress+scalable

ここで説明するには選択肢が多すぎます。多くはサーバー、ホストに依存します。 https://serverfault.com/ サーバーの質問にははるかに優れています。多くの場合、WordPress固有のものではありません。

1
markratledge

トラフィックの多いサイトでサーバー側を最適化するために私が使用するいくつかのことがあります。私は300Kを超える投稿があるWPサイトで作業していたので、サーバーが正しく設定されていれば問題ありません。

  1. W3 Total Cache のようなキャッシングプラグインをインストールすることをお勧めします。私は大企業のサイトでこれをうまくやっています。
  2. オブジェクトとデータベースのキャッシュ用にmemcachedをサーバーにインストールします。あなたのプラグインオプションであなたのキャッシュサーバのプールを設定してください。これは本当にうまくいき、キャッシングを使うほとんどのプラグイン/テーマはあなたの指定されたmemcachedサーバーを通してオブジェクトキャッシュを利用するでしょう。 (wp_cache_setwp_cache_get
  3. あなたのキャッシングプラグインを使用してディスクまたはmemcachedにページキャッシングを設定します。これにより、ページの読み込みが大幅にスピードアップします。ディスクキャッシュに関する唯一の問題は、キャッシュフォルダに対するファイルのアクセス権が正しくなければならないか、またはハッキングされる可能性があることです。ファイルシステムを強化するために、ページキャッシュにmemcachedを使用します。
  4. また、 _ apc _ を使用してオペコードキャッシングを試すこともできます。あなたが<PHP 5.4を実行しているなら、これは時には破損を防ぐのに役立ちます。 APCはあなたのスクリプトのコンパイルされた出力をキャッシュするので全てのリクエストをコンパイルする必要はありません。 APCにはオブジェクトキャッシュメカニズムもあります。 Mark Jaquithには 素晴らしいプラグインがあります これをWPで設定するためのものです。
  5. CDNをアーキテクチャとして使用すると、自分で作成できるものをはるかに凌駕し、視聴者に地理的な場所に近いエッジノードを提供できます。 Cloudflare のように試す無料のオプションがいくつかあります。これにより、セキュリティも強化されます。
  6. コメントしたい場合は、 Livefyre のようなサードパーティーサービスを利用してください。特に忙しいブログがある場合は、これにより、DBの負荷が軽減され、ページキャッシュが妨げられなくなります。あなたがレガシーコンテンツを維持することができるようにあなたの投稿のコメントをサードパーティのサービスと同期させるプラグインがあります。私はこれらのサービスがまたより容易な調整ツールを提供することを発見しました。ユーザーは自分のお気に入りのサービスからoAuthでログインして自分のコメントを追跡することもできます。

上記が単一のサーバーインスタンスで解決しない場合、あなたのサイトはおそらく AWS EC2 インスタンスで負荷分散されたクラスターを使用する候補になるでしょう。

お役に立てれば!

3
Brian Fegter