2 週間前から、ウェブサイトの 1 つで問題が発生しました。「ラッシュアワー」 (Analytics はリアルタイムで約 170 ~ 200 人のユーザーを示しています) に、使用可能なすべてのメモリ (16GB) を消費しています。通常の状態では、2 ~ 3 GB が割り当てられています。メモリの増加は一定ではなく、4 ~ 16 GB/2 分のように急速に増加することもあれば、徐々に増加することもあります。この動作は、両方のサーバー (Server1 と Server2) で同じように見えます。
サーバー構成:
パブリック インターネットと実際のアプリケーション サーバー間のトラフィックは、haproxy によって処理されます。現在、すべてのトラフィックはサーバー 1 に送信されます。サーバー 1 が応答を停止すると、トラフィックはサーバー 2 に送信されます (アクティブ - バックアップ構成)。Web サイト データベース (MSSQL 2008 R2) は Server3 に配置されます。メディア サーバーでは、アプリケーションの仮想 /media フォルダーからすべてのファイルを保存します。そのサーバーは Linux を搭載しており、ここでは問題ありません。
Server1、Server2、Server3 は、1 台の物理マシン (Linux Debian KVM、バックポートからの libvirt の最新バージョン、マシンは非常に安定しており、特に DB サーバー) に配置された VM です。メディア サーバーは、物理ストレージ マシンです。
サーバー1:
- OS – Windows Server 2012 標準
- CPU – 8x2GHz
- RAM -16GB
- IIS8
サーバー2:
- OS – Windows Server 2008 Web
- CPU – 4x2GHz
- RAM – 4GB
- IIS7
両方のサーバーに共通すること:
サイトは Umbraco 4.7、.net 4.0 に基づいています。メディア フォルダは、メディア サーバー (Linux Samba 3.x) に物理的に配置された「ネットワーク ロケーション」として接続されます。データベースには約 25000 のノードがあります。
Web サイトがメディア サーバー (最大 200Mbit/s) との接続を集中的に使用していることがわかりました。
メディア リクエストが IIS を通過しないように URL を変更しました。Web サイトは Windows Server 2008 と Windows Server 2012 の間で移動されましたが、問題は残っています。
問題はコードにあると考えたため、先月以降のすべての変更を (コード リポジトリを使用して) ロールバックしましたが、問題は解決しませんでした。
DebugDiag や Ants Memory Profiler などのプログラムを既に使用しています
http://imageshack.us/a/img823/8151/p4performancemonitor.png http://imageshack.us/a/img838/2319/p4tasks.png
他にどのように問題がどこにあるのかを確認できますか?