多くの接続を処理するようにWindows Server 2008 R2を改善するにはどうすればよいですか?


9

私がこの問題を解決する方法を理解しようとしているのは、ここ数日です。まず、1日の平均ページビューが350,000のWebサイトを実行しています。以前は、すべての広告管理(各広告が配信したクリックとインプレッションの追跡)とコンテンツは、次の仕様で単一のサーバーに配信されていました。

サーバー1
OS:Windows 2008 R2 64ビット
CPU:Intel®Core™i5-4コア
RAM:8 GB
ストレージ:2 x 1 TBハードドライブ
帯域幅:10 TB /月

Webサイトの速度を向上させるために、広告管理スクリプトを別の専用サーバーに分離することにしました。各ページに15を超える広告主から30の広告主がいるためです。

サーバー2
OS:Windows 2008 R2 64ビット
CPU:Intel®Core™i5-4コア
RAM:4 GB
ストレージ:2 x 300 GBハードドライブ
帯域幅:10 TB /月

問題は
、問題はそれがある Server 1コンテンツや広告システムの両方を扱うことができます。今、私は広告システムを取り除き、それをに置いていServer 2ます。Server 2かろうじて広告システムしか提供できません。

テスト

  • まず、広告の75%をに移動しましたServer 2。次に、サーバーへのpingを実行しますping -t xxxxx。[私は10分間pingを実行し、以下のような類似のパターンを実行しました]
xxxxxバイトからの応答= 32時間= 290ミリ秒TTL = 116
xxxxxバイトからの返信バイト数= 32時間= 289ミリ秒TTL = 116
xxxxxバイトからの応答= 32時間= 320ミリ秒TTL = 116
xxxxxバイトからの応答バイト= 32時間= 286ミリ秒TTL = 116
xxxxxバイトからの応答バイト= 32時間= 286ミリ秒TTL = 116
xxxxxバイトからの応答バイト= 32時間= 348ミリ秒TTL = 116
xxxxxバイトからの応答= 32時間= 284ミリ秒TTL = 116
  • 次に、広告の100%をに移動しましたServer 2。次に、サーバーへのpingを再度実行します。[私は10分間pingを実行し、以下のような類似のパターンを実行しました]
xxxxxバイトからの応答= 32時間= 290ミリ秒TTL = 116
リクエストはタイムアウトしました
xxxxxバイトからの応答= 32時間= 320ミリ秒TTL = 116
xxxxxバイトからの応答バイト= 32時間= 286ミリ秒TTL = 116
リクエストはタイムアウトしました
リクエストはタイムアウトしました
xxxxxバイトからの応答= 32時間= 284ミリ秒TTL = 116

試み

  1. 増加しMaxUserPortTcpNumConnection
  2. サーバーを再起動します
  3. IIS Max Instancesを増やし、Instance MaxRequests

サーバーリソース

  • ネットワーク接続の10%〜15%のみが使用されます
  • CPUの10%〜15%のみが使用されます
  • メモリの25%のみが使用されます

3
これは私の意見では整形式の質問であり、賛成投票に値しますが、謎を解くための手掛かりがまだ足りないようです。
Ryan Ries 2013年

@RyanRies、このなぞなぞを解決するために必要な情報が不足しているポインタを教えてください。今、私はそれが今かなり良いを行い、サーバ1にサーバ2の広告の75%と広告の25%を持っているが、私は完全にサーバー2に移動することはできません
モンキー・D・ルフィ

1
@RyanRiesに同意します:何かが足りません。広告配信システムの構築方法を調べます。過度の遅延の原因となっているコンテンツと広告配信サービスの間に依存関係がある可能性があります。
ステファン

@Stephaneいいえ、pingが失われることはありません。pingは、広告配信コードではなく、TCPスタックによって直接処理されます。これは基本的に、サーバーがクレイジーに過負荷にならない限り機能することを意味します。これは真剣に見えます-私の答えによると-帯域幅がちょうどそこにないように。サーバーの前。
TomTom

ここで欠落しているものには、次のものがあります。1)環境内で何を変更できる/変更できないのか 2)Webサーバーはどのようにディスクで構成されていますか?3)ネットワーク時間は、現在の場所の内部にあるのですか、それともリモートサーバーですか?リモートサーバーの場合、どれくらい離れていますか?4)サーバーを改善する必要がある場合、ハードウェアを全体的にミックスに追加するための予算の自由度は何ですか5)イベントログはエラーをスローしていますか?6)トラフィックの高さでのperfmonキャプチャの結果が表示されない7)あなたのユニークなビジター数は何ですか?8)ジャンクトラフィックを除外しましたか?
Techie Joe 2013

回答:


4

さて、始めましょう。これは長いです。

ここにある事実を完全に誤解しました。Windows-できるだけ早く更新する必要がある古い2008 R2でも、私の携帯電話で問題なく処理できるボリュームを完全に処理できます。

したがって、問題の可能性のある3つの領域が残ります。

  • インストール。あなたのドライバーは安っぽいかもしれません。古いオペレーティングシステムを実行しているとしたら、ドライバーはどの程度優れていますか?それらを更新してください-これはあらゆる種類の問題を引き起こす可能性があります。

  • 通信網。これは、渋滞にほとんどの時間を費やしていて、交通が動いていないという苦情が問題である場合、「私の車は遅すぎます、早くしてください」と真剣に見えます。車のチューニングの問題ではありません。10TBのトラフィックは、ネットワークの混雑については何も言いません。NICのネットワークトラフィック統計を監視し、それに応じて対応します-それらが本来あるべき速度で補充されない場合....プロバイダーが売られすぎています。そのような単純な。

  • コード。より多くのRAMが必要である(コンピューターが処理ではなくRAMにスワップアウトするのに忙しい)か、カーネルレベルのTCPスタックが正しく反応しない程度にすべてのCPUを使用している(そうです、ICMP応答は低いです)。これは残酷です-しかし、それはチェックする別の道です。また、RAMにキャッシュするのではなく、ディスクに頻繁にアクセスすることでディスクに過負荷をかけている可能性もありますが、pingが失われる原因は何とかわかりません。ただし、ここでの問題は管理者が処理できるものではありません。ハードウェアを投げるか、スティックを取り、プログラマがそれを修正するまで叩きます(パフォーマンスを損なう「愚かな」レベルの間違いである場合)。そうでない場合、深刻な利益を得ることははるかに困難であり、必要なハードウェアが増える可能性があります)。

それは間違いなくウィンドウの調整を必要としません-適切に構成されたウィンドウはそれ以上のLOTを提供できます。私のファイルサーバーは、長期間にわたって定期的にß-比較的在庫のあるセットアップから4〜6ギガビットを配信します。

今、あなたが与えるすべての数字は真剣に何も言わない。

  • 10〜15%のCPUが使用されています。
  • 25%のメモリが使用されている可能性が高いですが、スワップが発生していることを示す良い指標ですが、それでもCPUがIOを待機している可能性があります。
  • 10%〜15%のネットワークが使用されているということは、ネットワークのあなたの側だけなので、まったく意味がありません。アップストリームはどうですか?プロバイダーが1ギガビットの20台のサーバーをラックからの1ギガビットアップリンクに配置し、それが地獄のように溢れている場合はどうなりますか?

最後のポイントはかなり可能性があります-ドロップされたパケットはそれを示す良い指標です。そして、これはあなたには見えません。

私のアドバイス...少しの間マシンの何かをオフにし、大きな静的ファイルを使用して外部から速度テストを行います。私はあなたがもっと混雑に遭遇するに違いない。

これまでに行ったすべてのこと(maxuserport、tcpnumconnection、サーバーの再起動、IIS設定の操作)は完全にオフで、最適な場所では何もしません。遅い車でハンマーを叩いても何も修正されません-特に車が交通渋滞にあるために遅い場合。サーバーだけでなく、すべての変更を元に戻し、問題の分析を開始します。現時点ではネットワークの混雑に賭けるでしょう。


3
even the outdated 2008 R2 which you should update ASAP-こんにちは、TomTom、握ってください。2008 R2はまだ主流のサポートの範囲内にあり、2020年に延長サポートから出る長い道のりは私は信じています...
Dan

4
「できるだけ早く更新する必要がある古い2008 R2」:これはどちらも正しくなく(2008R2は「古い」わけではなく、「理由があるだけ」更新すべきではありません)、答えの文脈では意味がありません。残りは、問題を特定するための有用な手順を提供せず、解決策をほとんど提供しないため、回答の改善にはほとんど役立ちません。パフォーマンスに関する一般的な(そしてトピックについては穏やかに)アドバイスを提供するだけです。
ステファン

実際には、後で深刻に変更されたもの、つまりIPスタックが推測されるためです。ポイントであるスケーラビリティ。だから、はい、与えられたコンテキストではそうです。更新はできるだけ早く行う必要があります-何を推測するので、あなたは時間の経過とともにあなたのものを改善しないかもしれません、ほとんどの企業はそうします。2012 R2は2008 R2より優れています。
TomTom 2013年

speedtest.netを使用すると、アップリンクとダウンリンクは約100 Mbpsです。
Monkey D Luffy

広告システムには、memcachedとMySQLの2つの依存ソフトウェアがあります。すべてのインプレッションを追跡し、memcachedをクリックして、10分ごとにMySQLに更新します。
Monkey D Luffy

0

pingは2つのサーバーの外部にありますか?その場合は、サーバー1からサーバー2へのpingを試してください。結果が外部からpingしたときとまったく異なる場合は、サーバー2が原因ではない可能性があることを示しています。また、リソースモニターで、ドライブのディスクキューの長さとアクティブな時間を確認します。問題を浮き彫りにする可能性がある詳細情報もあります。


私はすでにそれを試しました。サーバー1を使用してサーバー2にpingを実行しましたが、広告をさらに追加すると、pingは引き続きドロップします。
Monkey D Luffy

1
サーバー1とサーバー2の間の接続は、独自のハードウェアを介したものですか?それともデータセンターの切り替えですか?pingを実行したときに、DCハードウェアを経由していて、輻輳を引き起こしていた可能性があるかどうかを判断しようとしています。IIS / Windowsでリクエストを動的にブロックしているものはありますか?正当なリクエストをブロックしているDOS保護はありませんか?システム、それはASP.NETであり、dbはMySQLですか?
ロスブギンズ2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.