2つのサーバーへのWordpressのインストール-ロードバランシング


14

別のサーバー上の1つのデータベースを共有する2つのサーバーにワードプレス(1つのブログ、1つのドメイン、mycompany.com / blogなど)をインストールする必要があります。これら2つのサーバーはロードバランサーの背後にあり、dbは別のサーバーにあります。トラフィックが多いため、この方法を計画しています。

IIS6、7などを搭載したWindows 2003、2008で、単一のサーバーにスタンドアロンのWordPressをインストールしました

私はこれをどのように実装するかについて研究しています。

これを達成するための手順は何ですか?検索すると、定期的に同期されるwp-content / uploadsディレクトリに関する投稿を見ましたか?

読んでくれてありがとう


我々のしたこと :

a)sanクラスタに接続された2つのWebサーバーがありますb)sanにブログディレクトリを作成しましたc)そのブログディレクトリを両方のWebサーバーの仮想ディレクトリとしてマップしましたd)いずれか1つにwordpressをインストールしました(ドメインおよびIIS仮想として)ディレクトリは両方のサーバーで同じです-たとえばwww.abc.com)e)このブログのデータベースは2つのMySQLボックスにあります

Wordpressがsanの上に座っているので、アップロードやそのようなものと競合しないため、Blog urlはwww.abc.com/blogであり、それが両方で設定されています。

それが誰かを助けることを願っています!


1
「それをやろうとは思わなかった」という効果で+1。
リチャードスレーター

1
「これを実装するための最良の方法と、なぜそれが最良の方法であるかについての段階的な指示で、誰かが本当に素晴らしい答えを提供してくれることを願っています」
ジェドダニエルズ

私たちがやることに追加したばかり-これが役立つことを願って
リハタム

回答:


4

これらのディレクトリを同一にする必要がある場合、それらを別のサーバーに配置し、NFSを介してリモートでマウントできますか?


SANがあります。そのため、wordpressをSANにインストールし、IISのそのディレクトリをwordpress / blogディレクトリとして追加しました。コメントをありがとう。
リハタム

2
SANはNFSと同じものではありません
クリス

3
セッションをMemcacheと共有し、ファイルをNFSまたはGlusterFSと共有します。HAProxyまたはVarnish(キャッシュも!)とトラフィックを共有し、循環レプリケーションでデータベースを共有します。
トム・オコナー

GlusterFSは魅力的な提案です。ありがとうございます。私はWordpressの静的なもののスケーリングに対する解決策としてそれを模索しています。
アルテムルサコフスキー

3

ワードプレスのパフォーマンスを向上させる方法は非常に多く、2番目のサーバーと負荷分散を必要としません。つまり、「すべてをキャッシュする」ということです。

  • php opcode cacher(APC)を使用します。64MB未満のメモリでwordpressを使用すると、90%のキャッシュヒット率を簡単に達成できます。

  • mysqlクエリキャッシュを有効にします。非常に少ないmemで65%以上のキャッシュヒット率を簡単に達成できます(サイトに依存しますが、高すぎることはありません)。

最も重要なこと:

Wordpressは、多くのリクエストが数百ページ(ブログ投稿)に制限されている、重い「読み取り」サイト(対書き込み)です。最も人気のある投稿の静的バージョンを提供することで、1秒あたりのリクエストを10倍に増やすことができます。そのための最良のプラグインはwp-super-cacheです。特定のプラグインが2k3と互換性がある場合、私は肯定的ではありませんが、ページの静的バージョンを自動的に作成し、新しいコメント、編集などを含めるために定期的に更新するという一般的なアイデアが最善の策です。

上記の一般的な拡張機能が実装されている場合、サイトが2つのWeb /アプリサーバーを必要とする十分なトラフィックを処理していることを本当に疑います(上記は簡単にスラッシュドット効果を処理できます)。ただし、2台のWebサーバーを使用すると、ある程度の耐障害性が追加されます。1つのWebサーバーでパフォーマンスを実現できるため、アクティブ/パッシブセットアップを使用してフォールトトレランスを実現できます。これはより簡単で、セッション情報の共有を必要としません。


+1 WordPressには、非常に優れた機能を発揮できるキャッシュプラグインもあります。かなりの量のキャッシュを有効にして、このような2つのサーバーでWordPressを実行する理由はありません。
WheresAlice

4
負荷分散は、パフォーマンスだけでなく、冗長性を追加することでもあります。
マイクP

あなたはWPスーパーキャッシュを言及するとき、あなたはまた、W3トータルキャッシュを言及する必要があります
デヴィッド・

2

私たちも同じ状況に陥り、wpアップロードディレクトリをホストするs3プラグインをインストールすることになり、同期を処理する必要がなくなりました。

これは私たちが使用したものです:http : //tantannoodles.com/toolkit/wordpress-s3/

これまでのところうまくいきました!


1
2009年以降更新されていないプラグインは使用しないでください。メンテナンスされていないため、将来的には後悔する可能性があります(S3の変更、セキュリティなど)。
アルテムルサコフスキー

ちなみに、私たちはこのプラグインでまだ正常に動作しています。
-shennyg

@shennyg-まだ強くなっていますか?
ベン14

@Steve wordpress-s3はメンテナンスされていません。私は一緒に行きたいW3トータルキャッシュそれはあなたのメディアライブラリを同期することができ、。
shennyg

0

サーバー間でuploads / dirと、通常は/ tmpにあるセッションdirを共有する必要があります

php.iniでそれを変更し、セッションのfsを共有し、サーバー間でsamba、nfs、または好みのファイルをアップロードします。


0

最初に、ここで非常に関連する質問に答えました。おそらく役立つでしょう:SAN + MySQLレプリケーション-負荷分散されたDrupalクラスターに必要なのはそれですか?

Webクラスタリングはウサギの穴をはるかに下回ってしまう可能性があるので、ビジネスの目標を念頭に置き、エンジニアのワンアップマンシップで迷子にならないようにすることが重要です。たとえば、2つのWebサーバーと1つのデータベースサーバーを使用することを計画していますが、データベースサーバーがボトルネックになっている場合はどうでしょうか。次に、2番目のWebサーバーが無駄になります。1台のWebサーバーと1台のデータベースサーバー、および適切に構成されたワードプレスを備えた最新のハードウェアでは、1秒あたり数百のリクエストを処理できます。あなたはそれを期待していますか?そうでない場合は、おそらくロードバランシングには意味がありません。


0

セッションは、ファイルシステム上よりもmemcacheを介して共有する方が適切です。


-1

Linuxペアでは、DRBDを使用します。Windowsに相当するものは、Distributed File Serviceです。

http://technet.microsoft.com/en-us/library/cc753479%28WS.10%29.aspx


... DRBDが提供するブロックデバイスは、ファイルシステムとほとんど同等ではありません。
アンドル

...その後、どのファイルシステムでフォーマットするかを選択できます。これにより、NTFSに固執するよりもはるかに優柔不断の範囲が提供されます;)
テレンスジョンソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.