如何[礼貌地?]告诉软件供应商他们不知道他们在说什么


62

但这不是一个技术问题,而是一个有效的问题。场景:

HP ProLiant DL380 Gen 8,带有2个8核Xeon E5-2667 CPU和256GB RAM,运行ESXi 5.5。给定供应商系统的八个VM。用于测试的四个VM,用于生产的四个VM。每个环境中的四个服务器执行不同的功能,例如: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)元素,即:大多数用户使用的“瘦应用” 。听起来像是主要财务机构使用的“胖客户端”安装,显然“速度较慢”。这意味着我们现在正在调查中考虑客户端和客户端-服务器的交互。

由于该问题的最初目的是寻求帮助,是沿着“戳”路线,还是只是进行更改,而我们现在正在进行更改,因此,我将使用longneck的答案将其关闭。

谢谢大家的意见; 像往常一样,serverfault不仅仅是一个论坛-就像心理学家的沙发:-)



5
这仍然是我的首选LART:laughingsquid.com/cat-5-o-nine-tails-ethernet-cable-whip这是用于网络诊断。诚实。
Sobrique 2014年

17
出于兴趣,您是否检查了存储性能?要求更多的CPU / RAM可能只是外行对性能低下的回应,而性能低下很容易是由于磁盘队列深度过大而引起的。好像很多人的忘记了SQL存储最佳实践时,虚拟化就进来了。
Ashigore

7
抱怨。是的,归咎于存储!但更重要的是-这是一个好点。如果有问题,而RAM / CPU无法解决问题,则可能是IO。尤其是在谈论VMWare时,因为它在...中并不少见,因此,系统的存储性能方面几乎被完全忽略了-同时忘记了如果在有限的时间内提供大量VM会从本质上遇到瓶颈HBA的数量。
Sobrique

6
在这种情况下,HP是您的供应商吗?因为我在那里工作。我可以确认我们不在乎。
Christopher Wirt 2014年

Answers:


94

我建议您进行他们要求的调整。然后对性能进行基准测试,以向他们表明这没有影响。您甚至可以进一步利用LESS内存和vCPU对其进行基准测试,以表明您的观点。

另外,“我们付钱给您以实际解决方案而不是猜测来支持软件。”


10
...明智的话。我认为这可能是前进的方向,尽管这使我们难以做出改变。好(?)之处是更改将需要重新启动,并且我们可以向我们的业务用户清楚这是由于供应商的请求而引起的……这几乎肯定会毫无意义。听起来我有点小气,但我们对供应商显然缺乏适当的故障排除方法感到厌倦。
西蒙·卡特林

6
供应商扮演这种特技并不少见。我认为部分原因在于服务水平指标-暂时不要使用,索取更多信息,并提出(无意义的)解决方法,因为至少在某些情况下,问题会在此期间消失/得到解决。如果您已经与供应商进行“拉动”,则可以与客户经理进行聊天。但是,不要屏住呼吸。
Sobrique

1
使用SQL Server for SCCM(系统中心配置mgr)4 CPU 30%util avg曾经有过类似情况。控制台非常慢。达到8个CPU利用率仍达到30%,控制台最终以正常方式响应。
克莱顿2014年

2
很好的建议。没有什么能像数据那样使人们闭嘴。“我们将按照您的建议进行更改。如果没有带来预期的改进,则您会付出代价。” 不知道这里有多少系统受到影响,但是您花费大量时间证明它们是错误的,这比插入一些额外的RAM要昂贵得多。
弗洛里斯2014年

67

只要您确信自己在他们记录的给定系统规格内,就可以。

然后,他们关于需要更多RAM或CPU的任何主张都应该能够备份。作为系统中的专家,我要求人们对此负责。

询问他们的细节。

  • 系统上提供的哪些信息表明需要更多的RAM,您如何解释?

  • 系统上提供的哪些信息表明需要更多的CPU,您如何解释?

  • 乍一看,我拥有的数据与您所说的不符。您能向我解释为什么我可能会错误地解释吗?

  • 我将这个[明显的数据系列]解释为[明显的解释]。您能确认我对我的问题的解释正确吗?

在过去获得支持的过程中,我提出了同样的问题。有时我是对的,他们没有把注意力集中在我的问题上。但是其他时候,我错了,我错误地解释了数据,或者没有包含其他对我的分析很重要的数据。

无论如何,这两种情况对我都是净收益,要么是我学到了以前不知道的新知识,要么是我让他们的支持团队更加认真地思考了我的问题,从而找到了一个体面的根本原因。

如果支持团队无法为您提供他们可以满足的依据的逻辑扩展(您需要有一个开放的心来妥协自己,有理由接受您对数据的解释是错误的),那么应该在他们的回应中变得非常重要。即使在最坏的情况下,您也可以以此为基础来解决问题。


10
+1是为了认识到人为错误可以通过两种方式发生(并且在他们确实试图“逃之“”的时候使支持变得有点松动)。
Cosmic Ossifrage 2014年

17

重要的是能够证明您正在使用最佳实践进行系统分配,尤其是SQL Server的RAM和CPU预留。

这么说,最简单的方法就是至少暂时地进行所需的调整。如果没有别的,它往往会使供应商不知所措。我无法数出要做这种疯狂的事情来满足生产线另一端某项技术确实是他们的软件无法正常运行的次数。


17

对于这种特定情况(您有VMware和应用程序开发人员或不了解资源分配的第三方),我使用了一周从vCenter Operations Manager获得的指标(vCops- 如果需要,请下载演示)来确定实际的限制。 ,应用程序VM的瓶颈,大小调整要求。

有时,通过修改VM保留或更改优先级以处理争用场景,我已经能够满足更顽固的消费者。“ 如果RAM | CPU紧张,则您的 VM将具有优先权! ”。当我允许软件供应商在没有实际分析的情况下指示他们对vSphere群集的要求时,发生了坏事。

但总的来说,数字和数据应该胜出。


我用来证明VM大小适合Tomcat应用程序开发人员的一个示例:

开发人员VM需要MOAR CPU!

嗯,记忆是您最大的制约因素,这是您的表现与时间的热度关系图...周三下午6点是最紧张的时期,因此我们可以估算出该高峰时期。哦,这是根据过去6周的生产指标得出的尺寸建议...

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明


9
我应该补充一点,基于平均值的分析可能会导致错误的结果。在某些情况下,峰值性能很重要,但是当负载统计中的峰值明显短于您的收集/平均间隔时,您就看不到峰值。因此,您可能会有一个漂亮的彩色“您的整体利用率低于60%”统计数据图表,但是看到每小时出现1次峰值的严重性能下降,每小时发生8次。
the-wabbit 2014年

也许我已经完全误解了这个问题,但这与OP的要求相反吗?我以为他们是开发人员,他们知道他们不需要更多的cpu,而供应商正试图出售它们-听起来像是在描述相反的情况,开发人员要求的是他们不需要的更多cpu。
Benubird 2014年

1
我正在使用一个方便的示例。对于具有严格要求(4个vCPU和16GB RAM),以及确定需要资源的小型系统的供应商,我采用相同的方法。在监控粒度方面,您可以返回到主机级别的统计信息来处理峰值...
ewwhite

谢谢你 我们没有vCops,但我认为我们的vSphere“属性”现在已经足够成熟,需要这种详细程度。我会将其添加到明年的资本支出清单中。
西蒙·卡特林

2
@SimonCatlin您不需要购买。您可以免费下载该演示,并可以使用60天。非常适合这种情况。
ewwhite

10

我曾经在技术支持部门工作过,而您所问的部分内容听起来很合理(也许是):但是在执行他们要求的“性能增强”之前,有几个问题要问自己

  • 您是否已经至少按照供应商规定的最低系统要求运行?
  • 如果您至少具有最低sysreq,那么您是否已经处于其“推荐”系统设置中?

在100次中,供应商中有99次(根据我的经验-在支持方面以及在客户/现场方面)甚至都不会处理与性能相关的问题,除非(除非系统满足其文档要求)。也许这是一个系统,只要有1个CPU和512M RAM,就可以在99.5%的时间上正常运行-但是,如果系统要求说有4个CPU和4G RAM,而您只有2个CPU和1G RAM,则它们的权限范围是要求分配更多资源*

他们可能会因为在实验室/开发中发现某些问题而要求您增加系统资源,如果您超过特定阈值,问题就会神奇地消失;如果是这种情况,是的,这是最终调试可能很差的一个示例,但是请记住,他们没有时间消除可能出现的所有错误/问题-有些只是需要解决的,如果就是这种情况,随它去吧。

您看到的问题甚至不是“他们的”软件的一部分,而是它们从其他来源(供应商,OSS库等)中依赖的组件,也有不小的机会。我跑进交换规模,BEA WebLogic和有关这一确切情况的Sun JRE客户几年前。

tl; dr:

简而言之,与他们的支持团队合作,根据需要逐步升级,直到找到解决方案为止-但是当某些建议/调试步骤/修复听起来像是毫无用处或毫无意义时,请不要感到惊讶。


* 如果确实不需要“多余”的额外资源,那么您很可能可以为以后的版本提交文档错误/ RFE了-但在您证明它不是手头的一本电子书
^ 可能会在以下主题上有所帮助:调试和支持软件系统


2
与性能相关的任何事情都需要大量时间和资源来进行故障排除和诊断。毕竟,没有什么坏的,所以您必须痛苦地进行查找。
Sobrique

1
@Sobrique绝对是-而且它们通常在手边的产品中与远程产品相关的甚至是无关紧要的部分中
沃伦

很好,很多调试步骤可能会违反直觉,尽管我认为坚持认为它们提供了这样做的理由并不是没有道理的。如果他们不能说做某事会带来什么好处(即使只是“看看它是否影响X”),那么他们要么正在研究一个他们不理解的清单,要么他们不知道并且正在做疯狂的猜测,或者他们隐藏了一些东西-这些都不是令人鼓舞的。
Benubird 2014年

@Benubird-不幸的是,其中一些事情归结为直觉或“将其固定在其他地方……” :(
沃伦

2
“将其固定在其他位置”是做某事的可怕原因。没错,有时候没有时间适当地调试问题,您必须凭直觉来做,但是想到这一点仍然让我不寒而栗。我已经看到很多错误,这些错误似乎通过X进行了修复,后来才发现问题实际上出在看似完全不相关的地方,直到我们弄清楚它之后,其他地方才会出现更多问题。
Benubird 2014年

8

要求升级机票或要求其他代表。如果您认为当前的支持水平不足以解决问题,则取决于哪个供应商进行升级可能会有所帮助。如果他们不升级,那么要求其他代表可能会有所帮助,因为所需的“理由”要少得多,因为它所需要的只是对当前的人不满意。

如果是大型供应商,则只需关闭票证并在同一问题上打开新票证即可,因为它可能会被路由到其他代表,但我建议不要这样做,因为它的格式不佳。

您也可以站在立场上,就更多的RAM / vCPU可以提供帮助的理由提出要求,或者您可以给它更多的RAM / vCPU以证明它没有帮助。


4

我将投入两分钱。通过这种方法,我们已经取得了很大的成功-取得了更好的结果,每个人的挫败感也减少了。与责备游戏和盲目添加资源相比,它需要付出更多的努力,但是找到潜在问题的机会也更大。

当我们在由供应商支持合同支持的本地应用程序中遇到严重问题,并且供应商开始进行闪避的混战时(这似乎总是包含对更多CPU或RAM的荒唐的非数据驱动需求),我们倾向于做这三件事:

  1. 将优先级提升为等同于系统宕机的优先级-它们通常会降低效率,但通常会在您解释为实际上无法使用时回落,即使它在技术上是“有效的”。将其视为他们要解决的严重问题。在这里,我们将其称为“老虎团队”,该团队每天开会以获取所有利益相关者的状态更新。通常,供应商会要求您更换东西。如果这是一个产品系统,那将是有问题的,但是如果您希望他们提供帮助,则您将需要承担帮助他们隔离问题的责任,因此,如果您拥有可以运行测试的开发/暂存环境,则它将有所帮助。

  2. 告诉供应商您希望他们复制您的环境,以便他们可以在他们的实验室中隔离问题。如果需要,他们甚至可以在某些云环境中托管内容。尽管这很理想,但它不一定与您的环境完全匹配。关键是您希望VENDOR积极尝试复制您的问题,以便他们可以在系统上而不是您的系统上测试其猜测。要求他们提供该复制环境的图表,规格等,以确保他们正在执行此操作。

  3. 为他们提供(当然是在NDA下)您的实际数据集,以便他们可以真实地运行/重放它,而不用猜测。在我们的案例中,大多数供应商提供的应用程序问题(瞬时的和长期的)经常是伴随的供应商提供的数据库的问题。我无法计算完成此操作的次数,他们最终将问题定位到实际数据中出乎意料之外的东西-2年前应用程序升级产生的怪异产物,其中某些东西不能完全转换;过时的记录暴露了GC设置的问题;由于我们的数据值破坏了供应商代码中的某些transmog例程等,因此查询无法正常工作。我们将永远无法独自识别这些东西。

在过去的几年中,我们已经与多家供应商合作完成了这项工作,而最初他们非常反对我们这样做。但是,在它起作用之后,它总是在我们与供应商进行的季度审查中成为积极的亮点。它有助于巩固我们与这些供应商的技术关系。他们不想要模糊的问题。他们确实希望可以解决特定问题,以改进产品。

希望该建议有所帮助。我知道这不是一种万能的方法,但是如果您能解决的话,我认为您会发现它值得。


3

真正的问题是,谁在这里负责?如果您不能现实地切换到其他供应商,那么他们将拥有力量,而您真正能做的就是与他们所说的保持一致,并希望它能解决。情况不妙!否则,我建议您再找一位代表(正如其他人所说的),但要明确您对服务不满意,如果他们不能胜任,请找别的地方找。

如果您确定调整不会奏效,请不要只是“进行调整”,因为这将为您的人际关系树立一种模式,从长远来看会伤害您。您向他们付款是为了向您提供服务,而他们所承担的支配作用不应超过我雇用的人为我的房屋涂漆所能支配的颜色。

这听起来可能太过激烈了,因为听起来这不是一个非常关键的问题,但是事实是,如果他们把您弄乱了一些小事,那么他们可能会对大事做同样的事情,而您最后要做的就是六个月后就陷入了某种可怕的查理·福克斯(Charlie Foxtrot)的困境,然后与供应商同样遇到麻烦。

确保您现在采取的解决问题的任何步骤在截止日期两天后一切都中断的情况下同样有效。


4
我以为它会给弹药带来反作用-您上次要求我们做这种荒谬的事情;我们这样做是出于善意。这次,我们需要更多有关您的推理原因的详细信息。
Sobrique

@Sobrique这是有道理的,并且可能会以这种方式解决-我不了解足够的心理学来说一种或另一种方式。不过,我的直觉是,如果您现在做某件事只是因为他们说-有效地承认他们比您更了解-他们将来会期望得到同样的结果。无论哪种方式,如果您不得不与他们争吵(是否需要弹药),您已经在浪费时间来解决问题。
Benubird 2014年

“我们上次做到了。你错了。你准备接受你可能又错了吗?我们这里确实有先例。”
Sobrique 2014年

3

我将从供应商的角度发布视图。

我们的客户遇到了这个反复出现的问题,即软件的性能每隔几个小时就会下降一次,并达到真正的糟糕水平,然后在几个小时后又恢复正常。

系统中的bulitin探查器表明系统CPU(或可能的内存)速度令人反感地缓慢,大约为100MHZ,而不是预期的2GHZ。虚拟机提供的CPU加倍并没有改变症状,他们认为我们很浪费。

由于他们无法获得更快的CPU(更多的CPU不能提供帮助),因此我们尝试交换TEST和PROD VM。然后,问题在第二天的TEST中出现。然后,我们尝试将客户端之一提升为独立(无服务器)实例。服务器阻塞时,该工作站上没有问题。

他们从VM主机生成了报告,表明没有性能问题,然后再次尝试声称这是应用程序问题。

最终,我(一名工程师)(我在专门的支持角色中获得了零支持)特别要求提供物理设备。客户尖叫着流血的谋杀案,但是没有人有任何其他可能的解决方案,他们做到了。您知道什么,问题神奇地消失了。

我们从未发现问题出在哪里。所有基准测试程序都显示正常,但是应用程序分析器告诉我们计算资源根本不够用。我们现在在探查器中寻找一种特定的签名。如果看到它,我们将在进一步了解之前就知道问题是VM交互,但是当时还不知道。

他们肯定以为我已经受够了。我不是 我没有选择。

编辑,几年后更新:

随着越来越多的客户希望在VM上运行,并且管理层愿意不惜一切代价尝试解决问题,我们获得了良好的VM硬件。我能够构建一个专门的VM刻录程序,该程序在两个512mb RAM的单核VM上在用户空间中运行(并且不需要特权),该程序能够从另一个只有4个单核VM消耗掉1/3的内存性能。 VM主机上正在使用的16个内核中的全部内核,其大多数ram仍然免费。该程序未发出警报,并且在VM主机或任何guest虚拟机上均未显示任何异常,只是内存访问速度很慢。

现在,我们可以告诉客户我们知道虚拟机存在问题,而不是我们的软件。我们仍然会不时收到客户对VM兼容软件的要求。我想知道为什么管理层不让支持人员告诉他们我们能够开发一款软件,从而降低同一主机上所有其他VM的速度。

可怕的是所涉及的技术是对涉及无锁同步的著名编程技术的简单转换。数以百计的软件供应商可能在其软件中安装了此虚拟机耗竭程序,却一无所知。获得激烈争论的原子指令锁应该很少,但并非不可能。这一切的有趣之处在于,我获得了竞争ACROSS VM的权利。


-3

对于目前为止提到的方法,我建议采取一种非常不同的方法。在与供应商争论之前,为什么不更仔细地观察所报告的问题,然后看看会告诉您什么。

报告了哪些实际问题以及用户的期望是什么。如果用户说的是“花费太长时间”,请准确询问他们“它”是什么(以便您可以重现),他们认为应该花费多长时间以及为什么他们认为应该花费那么长时间。如果他们的期望是合理的,请衡量他们尝试执行的操作的实际性能和系统影响。您的系统在一个月内显示出30%的峰值,这一事实并不意味着当用户尝试查询时,系统未以超过100%的速度运行。如果您可以向供应商证明CPU和内存不受该有问题的任务的困扰,那么您可以要求供应商提供合理的建议,以免浪费资金。


1
您建议的整个前半部分似乎已经完成。整个下半年恰好是OP的要求。
克里斯S

我不同意。没有证据表明存在问题分析,所引用的cpu和mem数字是月度汇总,与当前的问题没有明显关联。
Paul Smith
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.