web-dev-qa-db-ja.com

[丁寧に?]ソフトウェアベンダーに、自分が何について話しているのか分からないことを伝える方法

技術的な質問ではありませんが、有効な質問です。シナリオ:

HP ProLiant DL380 Gen 8、2 x 8コアXeon E5-2667 CPUおよび256GB RAM ESXi 5.5を実行。特定のベンダーのシステム用に8つのVM。テスト用に4つのVM、本番用に4つのVM。各環境の4つのサーバーは、Webサーバー、メインアプリサーバー、OLAP DBサーバーおよびSQL DBサーバーなど)の異なる機能を実行します。

テスト環境が本番環境に影響を与えないように構成されたCPUシェア。 SAN上のすべてのストレージ。

パフォーマンスに関するクエリがいくつかありましたが、ベンダーは、本番システムにメモリとvCPUを追加する必要があると主張しています。ただし、vCenterからは、既存の割り当てが変更されていないことが明確にわかります。たとえば、メインアプリケーションサーバーのCPU使用率の月次ビューは約8%で、奇数スパイクは最大で30%です。急上昇は、バックアップソフトウェアの起動と同時に発生する傾向があります。

RAM=に関する同様の話-サーバー全体の最高の使用率の数値は〜35%です。

そのため、Process Monitor(Microsoft SysInternals)とWiresharkを使用して掘り下げており、ベンダーへの推奨事項は、最初のインスタンスでTNSチューニングを行うことです。しかし、これはポイントの外です。

私の質問は、送信したVMwareの統計が、RAM/vCPUを増やしても役に立たないという十分な証拠であることをどのように認めさせるのですか?

---更新2014年12月7日---

興味深い週。 IT管​​理者は、VM割り当てに変更を加える必要があると述べており、現在、ビジネスユーザーからのダウンタイムを待っています。不思議なことに、ビジネスユーザーは、アプリの一部の動作が遅い(何に比べて、わかりません)が、システムを停止できるとき(不平を言う、不平を言う!)、 "知らせてくれる"でしょう。

余談ですが、システムの「遅い」側面は明らかにHTTP(S)要素ではありません。つまり、ユーザーのmostによって使用される「シンアプリ」です。明らかに「遅い」のは、メインの金融機関が使用する「ファットクライアント」インストールのようです。これは、調査においてクライアントとクライアント/サーバーの相互作用を検討していることを意味します。

質問の最初の目的は、「突く」ルートをたどるか、単に変更を加えるかについての支援を求めることでしたが、今は変更を行っているので、 長い首の答え。

ご協力ありがとうございます。いつものように、serverfaultは単なるフォーラムではなく、心理学者のソファのようなものでもあります:-)

62
Simon Catlin

彼らが要求した調整を行うことをお勧めします。次に、パフォーマンスをベンチマークして、違いがないことを示します。これまでのところ、LESSメモリとvCPUを使用してベンチマークを行い、ポイントを明確にすることもできます。

また、「当て推量ではなく、実際のソリューションでソフトウェアをサポートするために支払っています。」

94
longneck

文書化された所定のシステム仕様の範囲内であることを確信できる場合。

次に、より多くのRAM=またはCPUを必要とすることに関して彼らが主張していることは、バックアップできるはずです。システムの専門家として、私は人々にこれについて説明するように求めています。

具体的に質問してください。

  • システムに提供されているどの情報がより多くのことを示しているかRAMが必要であり、これをどのように解釈しましたか?

  • システムで提供されるどの情報は、より多くのCPUが必要であることを示し、これをどのように解釈しましたか?

  • 私が持っているデータは、一見すると、あなたが私に言っていることと矛盾しています。なぜこれを間違って解釈しているのか説明してもらえますか?

  • 私はこの[明白な一連のデータ]を[明白な解釈]を意味すると解釈しています。私の問題に関して私がそれを正しく解釈していることを確認できますか?

過去にサポートを扱ったことがあるので、同じ質問をしました。時々私は正しかった、そして彼らは私の問題に彼らの注意を適切に向けていなかった。しかし、それ以外の場合は間違ったで、データを誤って解釈したり、分析に重要な他のデータを含めなかったりしました。

いずれにせよ、これらの状況はどちらも正味の利点でした。以前に知らなかった新しいことを学んだか、またはサポートチームに私の問題についてもっと考えさせて、まともなものにした根本的な原因。

サポートチームが満足できる根拠への論理的な拡張を提供できない場合(自分を危険にさらすためのオープンマインドが必要であり、データの解釈が間違っていることを受け入れるのが妥当)彼らの反応で非常に存在する必要があります。最悪のシナリオでも、問題をエスカレーションするための基礎としてこれを使用できます。

67
Matthew Ife

この固有の状況(VMwareとアプリケーション開発者、またはリソース割り当てを理解していないサードパーティがある場合)では、 vCenterから取得した1週間分のメトリックを使用しますOperations Manager (vCops-必要に応じてデモをダウンロード)して、アプリケーションのVMの実際の制約、ボトルネック、サイジング要件を特定します。

VM予約を変更するか、競合シナリオを処理するために優先順位を変更することで、より頑固な消費者を満足させることができる場合があります。 "RAM | CPUが厳しい場合、[〜#〜] your [〜#〜]VMが優先されます! "。悪い-悪いことは次の場合に発生しました ソフトウェアベンダーが実際の分析なしにvSphereクラスターの要件を指示できるようにしました

しかし、一般的には、数値とデータが勝つはずです。


Tomcatアプリケーションの開発者にVMサイジングを正当化するために使用したものの例:

DevVM MOAR cpuが必要です!

Meまあ、メモリはあなたの最大の制約であり、これはパフォーマンスと時間のヒートマップです...水曜日午後6時が最もストレスの多い期間なので、そのピーク期間を中心にスペックを指定できます。ああ、これが過去6週間の生産指標に基づく推奨サイズです...

enter image description here

enter image description here

enter image description here

17
ewwhite

重要なことは、システム割り当てにベストプラクティスを使用していることを証明できることです。特にRAMとSQLサーバーのCPU予約)。

これらすべてが最も簡単なことは、要求された調整を少なくとも一時的に行うことです。他に何もない場合、それはベンダーに足を引きずらせる傾向があります。私は、実際には彼らのソフトウェアが動作していないという、回線の反対側にいる技術者を満足させるために、このようなクレイジーなことをする必要があった回数を数えることはできません。

17
Tim Brigham

私はサポートで働いていました-そしてあなたが尋ねていることの一部sounds非常に合理的です(そしておそらくそうです):いくつか質問することがあります彼らが要求している「パフォーマンス強化」を行う前に自分自身

  • ベンダーが指定した最小システム要件で少なくともをすでに実行していますか?
  • 少なくとも最低限のsysreqを使用している場合は、すでに「推奨」システム設定になっていますか?

ベンダーは100のうち99回(私の経験では、サポート側とカスタマー/フィールド側の両方で)、システムがドキュメントで要求されているものと一致しない限り、パフォーマンス関連の問題にさえ対処しません。多分それは1つのCPUと512Mで時間の99.5%をうまく実行するシステムですRAM-しかし、システム要件が4つのCPUと4G RAM CPUが2つとRAMが1Gしかないため、より多くのリソースを割り当てることを要求する権利の範囲内です。*

ラボ/開発で特定のしきい値を超えると問題が魔法のように消滅するため、システムリソースの増加を求めている可能性があります。これが事実である場合、はい、それは彼らの最後の潜在的に貧弱なデバッグの例ですが、彼らには排除する時間がないことを覚えておいてくださいすべて発生する可能性のあるバグ/問題-一部は回避策が必要なだけであり、それがここに当てはまる場合は、それに対処してください。

また、発生している問題が「それらの」ソフトウェアの一部ではなく、他のソース(ベンダー、OSSライブラリなど)から依存しているコンポーネントである可能性もあります。スワップサイズ、BEA WebLogic、および Sun JRE に関連するこの正確な状況に数年前に customer で遭遇しました。

tl; dr:

手短に言えば、解決策が見つかるまで、必要に応じてエスカレーションしながらサポートチームと協力してください。ただし、提案/デバッグ手順/修正の一部が壁や無意味に聞こえても驚かないでください。


*それtrulyがこれらの追加リソースを「必要としない」場合は、将来のためにドキュメントバグ/ RFEを提出できる場所にいる可能性がありますバージョン-しかし、それが当面の問題ではないことを実証するまで、そのルートをプッシュしないでください
^私があなたが書いた電子書籍は、このトピックに役立ちます: ソフトウェアシステムのデバッグとサポート

10
warren

チケットのエスカレーションを依頼するか、別の担当者に依頼してください。現在のレベルのサポートでは問題に適切に対応していないと感じた場合、どのベンダーに応じてエスカレーションすると役立つ場合があります。エスカレーションしない場合は、別の担当者に依頼することで問題が解決する可能性があります。現在の担当者に満足していないことが必要なためです。

それが大規模なベンダーの場合、同じ問題でチケットを閉じて新しいチケットを開くだけで機能する場合があります。別の担当者に転送される可能性があるためですが、形式が悪いため、お勧めしません。

また、地面に立って、より多くのRAM/vCPUがどのように役立つかについて根拠を求めることもできますし、より多くのRAM/vCPUを与えて、効果がないことを証明することもできます。

8

私は2セントを投入します。私たちはこのアプローチでかなり成功しています。はるかに優れた結果と、すべての人のフラストレーションの軽減です。非難ゲームや盲目的にリソースを追加するよりも多くの労力が必要ですが、根本的な問題を発見する可能性も高くなります。

ベンダーサポート契約に裏打ちされたオンプレミスアプリに深刻な問題があり、ベンダーが回避するダンスを回避する場合(これには、CPUやRAMに対するデータ主導以外の風変わりな要求が常に含まれているようです)、次の3つのことを行います。

  1. 優先度をシステムダウンの同等のものにエスカレーションします。通常、それらは問題を引き起こしますが、技術的に「機能」している場合でも効果的に使用できないことを説明すると、通常は低下します。彼らが解決する深刻な問題としてそれを扱います。この辺りでは、それを虎のチームと呼び、毎日会合して、すべての関係者から最新のステータスを入手します。通常、ベンダーは何かを変更するように求めます。それが本番システムの場合は問題がありますが、彼らに助けてもらいたい場合は、彼らが問題を切り分ける手助けをする責任を受け入れる必要があるため、テストを実行できる開発/ステージング環境がある場合に役立ちます。

  2. ベンダーに環境の複製を依頼して、ラボで問題を特定できるようにします。必要に応じて、一部のクラウド環境でコンテンツをホストすることもできます。理想的ですが、環境に完全に一致する必要はありません。重要なのは、ベンダーがあなたの問題を再現しようと積極的に試みて、彼らがあなたのシステムではなく自分のシステムで当て推量をテストできるようにすることです。複製された環境の図、仕様などを尋ねて、彼らがそれを実行していることを確認します。

  3. 実際のデータセットを(NDAもちろん)に)提供して、推測するのではなく実際に実行/再生できるようにします。この場合、ベンダーが提供するアプリの問題のほとんど(両方とも一時的なもの)および慢性)ベンダーが提供するデータベースに付随する問題であることが頻繁に判明します。これを行った回数を数えることはできず、実際に、実際のデータで予期しない何かにアプリの奇妙なアーティファクトを特定しました2年前にアップグレードされ、何かが正常に変換されなかった。古いレコードがGC設定の問題を露呈している。クエリが完全に機能していない。ベンダーコードの一部のトランスモグルーチンを破壊するOURデータの値など。自分で。

私たちはこれを過去数年間にわたってかなりの数のベンダーと行ってきましたが、彼らは当初、私たちのやり方でそれを行うことに非常に抵抗しています。ただし、それが機能した後は、ベンダーと一緒に開催する四半期レビューで常に前向きなハイライトとして表示されます。そして、これらのベンダーとの技術的な関係を強化するのに役立ちます。彼らは漠然とした問題を望んでいません。彼らは製品を改善するために分析できる特定の問題を望んでいます。

提案がお役に立てば幸いです。私はそれが万能のアプローチではないことを知っていますが、それを振ることができれば、それは価値があると思うと思います。

4
pdapel

本当の質問は、誰がここで担当するのですか?別のベンダーに現実的に切り替えることができない場合、彼らは力を持っています。あなたが実際にできることは、彼らが言うことをすべて実行し、うまくいくことを望んでいることです。幸せな状況ではありません!それ以外の場合は、他の担当者に依頼することをお勧めします(他の人が言ったように)が、サービスに満足しておらず、仕事ができない場合は他の場所を探すことを明確にしてください。

それがうまくいかないことが確かな場合は、「提案された調整を行う」だけではなく、長期的には関係を悪化させるパターンを設定することになります。あなたは彼らにあなたにサービスを提供するためにお金を払っています、そして彼らは私が私の家をペイントするために雇った誰かがそれがどのような色になるかを指示できるよりもあなたの行動を指示することができないはずです。

これは非常に重大な問題ではないように聞こえるので、これは抜本的に聞こえるかもしれませんが、実際、彼らがマイナーなものであなたをいじり回している場合、彼らはおそらく何か大きなものでも同じことをするでしょう、そしてあなたが望む最後のことは6か月後のある種の恐ろしいチャーリーフォックストロットに遭遇し、ベンダーと同じ問題を抱えています。

今すぐ問題を解決するために実行するすべての手順が、期限から2日ですべてがうまくいかない場合でも同じように機能することを確認してください...

3
Benubird

ベンダー側からの見解を掲載します。

このお客様には、ソフトウェアのパフォーマンスが数時間ごとに低下し、数時間後には本当にひどい速度で低下するという、繰り返し発生する問題がありました。

システムの掲示板プロファイラーは、システムのCPU(またはメモリ)の速度が予想外の2GHZではなく100MHZのようなものであり、非常に遅いことを示しています。 VMが提供するCPUを2倍にしても症状は変わりませんでした。

彼らはより高速なCPUを取得できなかったため(CPUを増やしても役に立たなかったため)、次にTEST VMとPROD VMを交換してみました。問題は翌日のTESTに現れました。次に、クライアントの1つをスタンドアロン(サーバーレス)インスタンスに昇格させました。サーバーが窒息している間、そのワークステーションでは問題ありません。

彼らは、VMホストからパフォーマンスの問題がないことを示すレポートを作成し、アプリケーションの問題であると再度​​主張しました。

最後に、私は[エンジニア](専用のサポートの役割を持つ人からのサポートはありませんでした)が、特に物理的な箱を要求しました。顧客は血まみれの殺人を叫びましたが、他に解決策の候補が誰もいなかったため、彼らはそれを行いました。あなたは何を知っていますか、問題は魔法のように消えました。

私たちは問題が何であるかを知ることはありませんでした。すべてのベンチマークプログラムは正常を示しましたが、アプリケーションプロファイラーは、コンピューティングリソースが単に十分ではないと私たちに告げていました。現在、プロファイラーで探している特定の署名があります。それを見ると、問題がさらに先に進む前にVMの相互作用であることがわかりますが、それは当時はまだわかっていませんでした。

彼らは確かに私はそれで一杯だと思った。私はそうではなかった。オプションがありませんでした。

編集、数年後の更新:

VMで実行することを望む顧客がますます多くなり、管理者があらゆるコストで問題を解決しようとする意欲を持って、良いVMハードウェアを得ました。私は、512MBのRAMを備えた2つのシングルコアVMでユーザースペースで実行される(特権を必要としない)専用のVM書き込みプログラムを構築できました。 -core VMは、VMホスト上で使用されている16コアのうち合計4コアのみであり、そのRAMのほとんどは未使用のままです。プログラムはアラームを発生させず、VMホストやゲストの通常の動作には異常がありませんでしたが、メモリアクセスが低速でした。

これで、VMに問題があり、それは私たちのソフトウェアではないことを知っていることをお客様に伝えることができます。 VM互換性のあるソフトウェアについては、お客様からの要望が時々あります。同じホスト上でVMを1つおきに遅くするソフトウェアを開発できたため、管理者がサポートに伝えないのはなぜでしょうか。

怖いのは、含まれている手法が、ロックフリー同期を含むよく知られたプログラミング手法の単純な変換であることです。何百ものソフトウェアベンダーがこのVMドレイナーをソフトウェアに組み込んで、それを知らない可能性があります。激しく競合しているアトミックな命令ロックを取得することはまれではありますが、不可能ではありません。そのすべての面白い部分は、ACROSS VMと競合するためのロックを取得していたことです。

3
joshudson