ウェブサイト及びサーバー監視の プレミアム製品

Server Densityについて

微妙な違い – CPUバージョンのパフォーマンスを追跡

サーバーのクラスタ内で異常が発生した場合、まず初めにやることはすべての可変的な要素を排除して、構成上の相違を排除することです。多くの場合、これは、小さなソフトウェアのバージョンの違いになりますが、Puppetのような最新の設定管理ツールやChefの使用することで、違いが少なくなる可能性が高いです。

そこで、何も異常な状態が明らかにならない場合、次のステップとしてはハードウェアを調べることです。これは詳細を調べなけばならない典型的な例であり、インフラストラクチャで何が異常かを理解しなければなりません。

プロセス

当社では、インフラストラクチャ全体のパフォーマンス指標のレビューを毎週行っています。これは、自動化された監視やこれらの指標の警告に置き換えるものではありません。しかしながら、時系列的にわずかな性能の低下を見つけることができ、インフラストラクチャ内の問題を調べ、性能の改善に間にあうようにコードベースをスケジュール化して、アップグレードのための準備することができます。 Server Densityを使用するので、Server Density の監視が簡単にできます。それは、通常はパフォーマンスのダッシュボードにあらかじめ設定した時間間隔でチェックするだけで、ほんの数分かかかります。

これは、これらのダッシュボード上の過去3ヶ月のデータです:
三ヶ月のパーフォマンスデータ

おかしな性能値

少し前に、当社のクラスターを一つをアップグレードしてから、このようなロードプロフィールが表示されるようになりました。:

Initial cluster load

これはSoftlayer上で< href=”http://www.softlayer.com/bare-metal-servers” title=”専用のハードウェア” target=”_blank”>専用のハードウェアで実行する、4つサーバー列処理クラスタです。(SuperMicro、 Xeonプロセッサ1270 クアッドコア、 8ギガバイトのRAM )すべてのソフトウェア·スタックは、Puppet装備プロセスを使用して同じソースから構築することにより、全く同じバージョンですべてのクラスタノードが実行することができます。

では、なぜ全く同じタスクで、低負荷を示すサーバーがあるのでしょうか?その差異を理解できなかったので、Softlayer へサポートを依頼しました。: サーバー間で識別可能な差異はないというのが最初の回答でした。

状況が佳境に入る

本来同じであるべきなので、そうではないサーバーがあったことに満足できなかったので、当社はさらに問題を調べて、他のことを見つけました。そして、もっと心配な問題を見つけました。- それは高負荷を示した3つのサーバー上でのパケット損失です:

Initial cluster packet loss

そこでSoftlayerへサポートを求ました。彼らはとても熱心で、これらのサーバーのスイッチ、ネットワークの速度、確立されたか待機中の接続、apache/python/tornado プロセス等を調べました。しかし、最終的には、クラスタ·ハードウェア上での微妙な違いを除いて何も見つかりませんでした。すべてのプロセッサは、 Xeonプロセッサ1270 クアッドコア、 -web4ではV3が稼動していて、すべて最新です。さらに、 -web2と-web3ではV2が稼働して、 -web1はV1が稼働しています。当社が新しいサーバーを注文する場合は、CPUの種類を選んでおり、CPUのバージョンは提供されません。データセンターのチームは手元で準備ができている製品を提供します。

問題の解決方法

いろいろと調べた結果, CPUのバージョンにおそらく興味深い差異がいつくかあることに気づきました。 そこで、ハードウエアの差異を取り除いた場合にどうなるか確認しました。

Softlayer 特別なリクエストに対応しており、この問題を解決する上で何の支障はありませんでした。

次のグラフは-web1 、その後-web2と-web3の交換したケース示しています。いつそれが実行されたか分かりますか?

cluster load

それで、クラスターパカエットロスの似ているプロット:
cluster packet loss

すべてのサーバーを一貫性のあるCPUとCPUバージョンに切替えることにより、問題を解決することができました。パケット損失は消失し、性能は同等になりました。これは、非常に微妙な違いがサーバーの動作に測定可能な影響を与えることを示す良い例です。設定管理により、自分たちが管理できるソフトウェアをすぐに原因から排除することできました。CPUのバージョンがハードウェアドライバーと何らかの問題があったことは考えられますが、ここでは、クラスタ内の一貫性が重要であることを示しています。