Wie kann man dem Softwarehersteller [höflich?] Mitteilen, dass er nicht weiß, wovon er spricht?


62

Keine technische Frage, aber dennoch eine gültige. Szenario:

HP ProLiant DL380 Gen 8 mit 2 x 8-Kern-Xeon E5-2667-CPUs und 256 GB RAM unter ESXi 5.5. Acht VMs für das System eines bestimmten Anbieters. Vier VMs zum Testen, vier VMs für die Produktion. Die vier Server in jeder Umgebung führen unterschiedliche Funktionen aus, z. B. Webserver, Hauptanwendungsserver, OLAP DB-Server und SQL DB-Server.

CPU-Freigaben, die so konfiguriert sind, dass die Testumgebung die Produktion nicht beeinträchtigt. Alle Speicher auf SAN.

Wir hatten einige Fragen zur Leistung und der Hersteller besteht darauf, dass wir dem Produktionssystem mehr Speicher und vCPUs zur Verfügung stellen müssen. In vCenter können wir jedoch deutlich erkennen, dass die vorhandenen Zuordnungen nicht betroffen sind. Beispiel: Die monatliche Anzeige der CPU-Auslastung auf dem Hauptanwendungsserver beträgt etwa 8%, wobei der ungerade Anstieg bis zu 30% beträgt. Die Spitzen neigen dazu, mit der Backup-Software zusammenzufallen.

Ähnliches gilt für RAM - die höchste Auslastung aller Server liegt bei ~ 35%.

Wir haben also mit Process Monitor (Microsoft SysInternals) und Wireshark gegraben und dem Anbieter empfohlen, zunächst einige TNS-Einstellungen vorzunehmen. Dies ist jedoch nicht der Punkt.

Meine Frage lautet: Wie können sie bestätigen, dass die von uns gesendeten VMware-Statistiken belegen, dass mehr RAM / vCPU nicht hilft?

--- UPDATE 12/07/2014 ---

Interessante Woche. Unser IT-Management hat angekündigt, die VM-Zuordnungen zu ändern, und wir warten nun auf einige Ausfallzeiten der Geschäftsbenutzer. Seltsamerweise sagen die Geschäftsbenutzer, dass bestimmte Aspekte der App langsam laufen (im Vergleich zu dem, was ich nicht weiß), aber sie werden "uns wissen lassen", wann wir das System ausschalten können (meckern) , meckere!).

Abgesehen davon ist der "langsame" Aspekt des Systems anscheinend nicht das HTTP (S) -Element, dh die "dünne App", die von den meisten Benutzern verwendet wird. Es klingt so, als ob es sich um die "Fat Client" -Installationen handelt, die von den wichtigsten Finanzverwaltern verwendet werden und anscheinend "langsam" sind. Dies bedeutet, dass wir bei unseren Untersuchungen jetzt die Client- und die Client-Server-Interaktion berücksichtigen.

Da der ursprüngliche Zweck der Frage darin bestand, Unterstützung zu suchen, um den "Poke it" - Weg einzuschlagen , oder einfach die Änderung vorzunehmen, und wir nun die Änderung vornehmen , werde ich sie mit der Antwort von Longneck schließen .

Vielen Dank für Ihren Beitrag. serverfault ist wie immer mehr als nur ein forum - es ist auch so etwas wie eine psychologensofa :-)



5
Dies bleibt meine bevorzugte LART: laughingsquid.com/cat-5-o-nine-tails-ethernet-cable-whip Es ist für die Netzwerkdiagnose. Ehrlich.
Sobrique

17
Haben Sie aus Interesse die Speicherleistung überprüft? Die Nachfrage nach mehr CPU / RAM ist möglicherweise eine einfache Antwort auf eine schlechte Leistung, die leicht durch eine hohe Warteschlangentiefe verursacht werden kann. Scheint, als hätten viele Leute die Best Practices für SQL-Speicher vergessen, als die Virtualisierung eintraf.
Ashigore

7
meckern . Das ist richtig, Schuld Speicher! Aber im Ernst - es ist ein guter Punkt. Wenn es ein Problem gibt und RAM / CPU nicht hilft, ist es möglicherweise IO. Vor allem, wenn es sich um VMWare handelt, denn es ist nicht ungewöhnlich, dass ... die Speicherleistung eines Systems fast vollständig ignoriert wird - und dabei vergessen wird, dass Sie einen massiven Engpass bekommen, wenn Sie viele VMs mit einer begrenzten Anzahl von Ressourcen versorgen Anzahl der HBAs.
Sobrique

6
Ist HP in diesem Fall Ihr Anbieter? Weil ich dort arbeite. Ich kann bestätigen, dass es uns egal ist.
Christopher Wirt

Antworten:


94

Ich schlage vor, dass Sie die gewünschten Anpassungen vornehmen. Vergleichen Sie dann die Leistung, um zu zeigen, dass es keinen Unterschied macht. Sie könnten sogar so weit gehen, um es mit WENIGER Speicher und vCPU zu vergleichen, um Ihren Standpunkt zu vertreten.

"Wir bezahlen Sie auch dafür, dass Sie die Software mit aktuellen Lösungen unterstützen, nicht mit Vermutungen."


10
...weise Worte. Ich denke, dies könnte der Weg nach vorne sein, so sehr es uns auch schmerzt, die Änderung vorzunehmen. Das Gute (?) Ist, dass die Änderungen einen Neustart erfordern, und wir können unseren Geschäftsbenutzern klar machen, dass dies auf die Anfrage des Anbieters zurückzuführen ist ... was sich mit ziemlicher Sicherheit als sinnlos erweisen wird. Klingt, als würde ich kleinlich werden, aber wir werden es leid, dass der Anbieter offensichtlich keine ordnungsgemäße Fehlerbehebung vorgenommen hat.
Simon Catlin

6
Es ist nicht ungewöhnlich, dass Anbieter diese Art von Stunt spielen. Ich denke, es liegt zum Teil an den Service-Level-Metriken - versetzen Sie die Uhr in Ruhe, fordern Sie weitere Informationen an und schlagen Sie eine (sinnlose) Problemumgehung vor, da das Problem zumindest zeitweise behoben wird. Wenn Sie mit dem Anbieter „ziehen“, reicht möglicherweise ein Chat mit dem Account Manager aus. Aber halt nicht den Atem an.
Sobrique

1
Hatte eine ähnliche Situation einmal mit einem SQL Server für SCCM (System Center Config Manager) 4 CPU 30% Auslastung Durchschn. Konsole furchtbar langsam. Bei einer Auslastung von immer noch 30% von 8 CPU reagiert die Konsole schließlich auf normale Weise.
Clayton

2
Hervorragender Vorschlag. Es gibt nichts Schöneres, als Daten zum Schweigen zu bringen. "Wir werden die von Ihnen vorgeschlagene Änderung vornehmen. Wenn die geplante Verbesserung dadurch nicht erreicht wird, essen Sie die Kosten." Sie sind sich nicht sicher, wie viele Systeme hiervon betroffen sind, aber Ihre Zeit, in der Sie sich als falsch erweisen, wird SCHNELL teurer als das Einstecken von zusätzlichem RAM.
Floris

67

Vorausgesetzt, Sie sind zuversichtlich, dass Sie die angegebenen Systemspezifikationen einhalten, die sie dokumentieren.

Dann sollte jeder Anspruch, den sie in Bezug auf den Bedarf an mehr RAM oder CPU geltend machen, gesichert werden können. Als Experten ihres Systems halte ich die Leute dafür zur Rechenschaft.

Fragen Sie sie nach Einzelheiten.

  • Welche Informationen im System weisen darauf hin, dass mehr RAM benötigt wird, und wie haben Sie dies interpretiert?

  • Welche Informationen im System weisen darauf hin, dass mehr CPU benötigt wird, und wie haben Sie dies interpretiert?

  • Die Daten, die ich auf den ersten Blick habe, widersprechen dem, was Sie mir sagen. Können Sie mir erklären, warum ich dies möglicherweise falsch interpretiere?

  • Ich interpretiere diese [offensichtliche Datenreihe] als [offensichtliche Interpretation]. Können Sie bestätigen, dass ich es in Bezug auf mein Problem richtig interpretiere?

Nachdem ich mich in der Vergangenheit mit Unterstützung befasst hatte, habe ich die gleichen Fragen gestellt. Manchmal hatte ich recht und sie konzentrierten sich nicht richtig auf mein Problem. In anderen Fällen habe ich mich jedoch geirrt und die Daten falsch interpretiert oder andere Daten, die für meine Analyse wichtig waren, nicht berücksichtigt.

Auf jeden Fall waren beide Situationen ein Nettogewinn für mich, entweder ich lernte etwas Neues, das ich vorher nicht kannte - oder ich ließ ihre Support-Teams über mein Problem nachdenken, um eine vernünftige Ursache zu finden.

Wenn das Support-Team nicht in der Lage ist, Ihnen eine logische Erweiterung seines Arguments auf eine Basis zu liefern, mit der Sie zufrieden sein können (Sie müssen offen sein, sich zu kompromittieren, vernünftig sein, um zu akzeptieren, dass Ihre Interpretation der Daten falsch ist), ist dies der Fall sollten in ihrer Antwort sehr präsent werden. Selbst im schlimmsten Fall können Sie dies als Grundlage für die Eskalation des Problems verwenden.


10
+1 für die Erkenntnis, dass menschliches Versagen zwei Wege gehen kann (und dass sich die Unterstützung ein wenig windet, wenn sie tatsächlich versucht hat, "abzuhängen").
Cosmic Ossifrage

17

Das Wichtigste ist, dass Sie nachweisen können, dass Sie Best Practices für die Systemzuordnung verwenden, insbesondere RAM- und CPU-Reservierungen für Ihren SQL Server.

Vor diesem Hintergrund ist es am einfachsten, die erforderlichen Anpassungen zumindest vorübergehend vorzunehmen. Wenn nichts anderes, neigt es dazu, Verkäufer dazu zu bringen, über die Füße zu ziehen. Ich kann nicht zählen, wie oft ich so etwas Verrücktes machen musste, um einen Techniker am anderen Ende der Leitung davon zu überzeugen, dass es sich wirklich um ihre Software handelt, die sich nicht verhält.


17

In dieser speziellen Situation (in der Sie VMware- und Anwendungsentwickler oder einen Drittanbieter haben, der die Ressourcenzuweisung nicht versteht) verwende ich Metriken im Wert von einer Woche, die von vCenter Operations Manager (vCops - Laden Sie bei Bedarf eine Demo herunter ) abgerufen wurden , um die tatsächlichen Einschränkungen zu ermitteln , Engpässe und Größenanforderungen der VMs der Anwendung.

Manchmal war ich in der Lage, hartnäckigere Kunden zufriedenzustellen, indem ich VM-Reservierungen änderte oder Prioritäten änderte, um Konfliktszenarien zu bewältigen. Msgstr " Wenn RAM | CPU knapp sind, hat IHRE VM Vorrang! " Schlimme Dinge sind passiert, als ich Softwareanbietern erlaubt habe, ihre Anforderungen an meine vSphere-Cluster ohne echte Analyse zu diktieren .

Aber im Allgemeinen sollten Zahlen und Daten gewinnen.


Ein Beispiel für etwas, das ich verwendet habe, um die VM-Größenanpassung dem Entwickler einer Tomcat-Anwendung zu rechtfertigen:

Dev : Die VM braucht eine MOAR-CPU!

Ich : Nun, das Gedächtnis ist Ihre größte Einschränkung, und hier ist eine Wärmekarte Ihrer Leistung im Verhältnis zur Zeit ... Mittwochs um 18 Uhr sind die stressigsten Zeiten, sodass wir uns auf diese Spitzenzeiten festlegen können. Oh, und hier ist eine Größenempfehlung basierend auf den Produktionsmetriken der letzten 6 Wochen ...

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben


9
Ich sollte hinzufügen, dass eine auf Durchschnittswerten basierende Analyse zu falschen Ergebnissen führen kann. Unter bestimmten Bedingungen ist die Spitzenleistung wichtig, die Spitzenwerte werden jedoch in der Laststatistik nicht angezeigt, wenn sie erheblich kürzer sind als das Erfassungs- / Mittelungsintervall. Sie können also ein farbenfrohes "Ihre Gesamtauslastung ist <60%" -Statistikdiagramm anzeigen, bei dem jedoch 8-mal pro Stunde gleichzeitig ein schwerwiegender Leistungsabfall bei Spitzenwerten von 1 Minute auftritt.
The-Wabbit

Vielleicht habe ich die Frage völlig falsch verstanden, aber ist das nicht das Gegenteil von dem, was das OP gefragt hat? Ich dachte, sie wären die Entwickler, die wussten, dass sie nicht mehr CPU benötigen, und der Verkäufer versuchte, sie zu verkaufen - es hört sich so an, als würden Sie das Gegenteil beschreiben, bei dem ein Entwickler nach mehr CPU fragt, die sie nicht benötigen.
Benubird

1
Ich verwende ein praktisches Beispiel. Den gleichen Ansatz verfolge ich bei Anbietern, die strenge Anforderungen haben (4 vCPU und 16 GB RAM), sowie bei der Identifizierung von Systemen mit geringer Größe, die Ressourcen benötigen. In Bezug auf die Überwachung der Granularität können Sie zur Statistik auf Host-Ebene zurückkehren, um sich mit Peaks zu befassen ...
ewwhite

Danke dafür. Wir haben keine vCops, aber ich gehe davon aus, dass unser vSphere-Status jetzt ausgereift genug ist, um diese Detailstufe zu erfordern. Ich werde dies auf unsere Capex-Wunschliste für das nächste Jahr setzen.
Simon Catlin

2
@ SimonCatlin Sie müssen es nicht kaufen. Sie können die Demo kostenlos herunterladen und 60 Tage lang verwenden. Es ist perfekt für diese Art von Situation.
Ewwhite

10

Früher habe ich im Support gearbeitet - und ein Teil dessen, was Sie fragen, klingt sehr rational (und ist es wahrscheinlich): Es gibt jedoch ein paar Fragen, die Sie sich stellen müssen, bevor Sie die angeforderte "Leistungssteigerung" durchführen

  • Laufen Sie bereits mindestens mit den vom Hersteller angegebenen Mindestsystemanforderungen?
  • Wenn Sie mindestens sysreqs haben, befinden Sie sich bereits in den "empfohlenen" Systemeinstellungen?

Anbieter werden 99-mal von 100 (nach meiner Erfahrung - sowohl auf der Support-Seite als auch auf der Kunden- / Außendienstseite) nicht einmal leistungsbezogene Probleme behandeln, bis / bis die Systeme den Anforderungen ihrer Dokumentation entsprechen. Vielleicht ist es ein System, das 99,5% der Zeit mit 1 CPU und 512 MB RAM einwandfrei läuft - aber wenn die Systemanforderungen 4 CPUs und 4G RAM und Sie nur 2 CPUs und 1G RAM haben, liegen sie im Rahmen ihrer Rechte fordern mehr Ressourcen zugewiesen werden * .

Es ist wahrscheinlich, dass sie Sie auffordern, die Systemressourcen zu erhöhen, weil sie im Labor / in der Entwicklung etwas gefunden haben, bei dem ein Problem auf magische Weise verschwindet, wenn Sie einen bestimmten Schwellenwert überschreiten. Wenn dies der Fall ist, handelt es sich zwar um ein Beispiel für ein möglicherweise schlechtes Debugging, aber denken Sie daran, dass sie nicht die Zeit haben, alle möglichen Fehler / Probleme zu beseitigen - einige müssen nur umgangen werden, und wenn ja das ist hier der Fall, mach einfach mit.

Es besteht auch eine nicht unerhebliche Wahrscheinlichkeit, dass die Probleme, die Sie sehen, nicht einmal Teil "ihrer" Software sind, sondern eine Komponente, auf die sie sich aus einer anderen Quelle (Hersteller, OSS-Bibliothek usw.) stützen. Ich bin vor einigen Jahren bei einem Kunden auf genau diese Situation im Zusammenhang mit Swap Size, BEA WebLogic und Sun JRE gestoßen .

tl; dr:

Kurz gesagt, arbeiten Sie mit dem Support-Team zusammen, und eskalieren Sie nach Bedarf, bis Sie eine Lösung gefunden haben. Seien Sie jedoch nicht überrascht, wenn einige der Vorschläge / Fehlerbehebungsschritte / -behebungen unbrauchbar oder sinnlos sind.


* Wenn diese zusätzlichen Ressourcen wirklich nicht "benötigt" werden, sind Sie wahrscheinlich an einem Ort, an dem Sie einen Dokumentationsfehler / RFE für zukünftige Versionen einreichen können Problem in der Nähe
^ Ein eBook, das ich geschrieben habe, könnte für Sie hilfreich sein zum Thema: Debuggen und Unterstützen von Softwaresystemen


2
Für die Fehlerbehebung und Diagnose ist viel Zeit und Ressourcen erforderlich. Schließlich ist nichts kaputt, so dass Sie schmerzhaft nachverfolgen müssen.
Sobrique

1
@Sobrique absolut - und sie sind in der Regel in ziemlich entfernt verwandten (auch scheinbar nicht verwandten) Segmenten des vorliegenden Produkts
warren

Das ist ein guter Punkt, viele Debugging-Schritte können sehr kontraintuitiv sein, obwohl ich es nicht für unangemessen halte, darauf zu bestehen, dass sie einen Grund dafür liefern. Wenn sie nicht sagen können, welchen Nutzen es hat, etwas zu tun (auch wenn es nur "um zu sehen, ob es X betrifft"), dann arbeiten sie entweder eine Checkliste durch, die sie nicht verstehen, oder sie haben keine Ahnung und machen eine wilde Vermutungen oder sie verbergen etwas - keine davon ist sehr ermutigend.
Benubird

@Benubird - leider kommen einige dieser Dinge auf den Bauch oder "es repariert es woanders ..." :(
warren

2
"Es hat es woanders behoben" ist ein schrecklicher Grund, etwas zu tun. Es stimmt, manchmal ist keine Zeit, um ein Problem richtig zu beheben, und Sie müssen aus dem Bauch heraus vorgehen, aber der Gedanke daran lässt mich immer noch schaudern. Ich habe viele Fehler gesehen, die durch das Ausführen von X "behoben" wurden. Später stellte sich heraus, dass das Problem in einem scheinbar völlig unabhängigen Bereich lag, der an anderer Stelle weitere Probleme verursachte, bis wir es herausfanden.
Benubird

8

Bitten Sie entweder um eine Eskalation des Tickets oder um einen anderen Mitarbeiter. Je nachdem, bei welchem ​​Anbieter es sich um eine Eskalation handelt, kann dies hilfreich sein, wenn Sie der Ansicht sind, dass das aktuelle Support-Niveau das Problem nicht angemessen behebt. Wenn sie nicht eskalieren, kann es hilfreich sein, nach einem anderen Mitarbeiter zu fragen, da dies viel weniger "Rechtfertigung" erfordert, da es nur erforderlich ist, mit dem aktuellen Mitarbeiter nicht zufrieden zu sein.

Wenn es sich um einen großen Anbieter handelt, funktioniert es möglicherweise, das Ticket zu schließen und ein neues Ticket für dasselbe Problem zu öffnen, da es möglicherweise an einen anderen Mitarbeiter weitergeleitet wird. Ich rate jedoch davon ab, da es sich um eine schlechte Form handelt.

Sie könnten sich auch behaupten und nach einer Begründung fragen, wie mehr RAM / vCPU helfen wird, oder Sie könnten ihm einfach mehr RAM / vCPU geben, um zu beweisen, dass es nicht hilft.


4

Ich werfe meine zwei Cent ein. Wir waren mit diesem Ansatz ziemlich erfolgreich - viel bessere Ergebnisse und weniger Frustration seitens aller. Es erfordert viel mehr Aufwand als das Schuldspiel und das blinde Hinzufügen von Ressourcen, hat aber auch bessere Chancen, das zugrunde liegende Problem zu finden.

Wenn wir schwerwiegende Probleme mit unseren On-Premise-Apps haben, die von Anbietersupportverträgen unterstützt werden, und die Anbieter mit ihrem Dodge Shuffling-Tanz beginnen (der immer auch ausgefallene, nicht datengetriebene Anforderungen nach mehr CPU oder RAM beinhaltet), tendieren wir dazu mach diese 3 Dinge:

  1. Erhöhen Sie die Priorität auf das Äquivalent zum Herunterfahren des Systems - sie lehnen sich normalerweise zurück, gehen aber normalerweise zurück, wenn Sie erklären, dass es effektiv unbrauchbar ist, auch wenn es technisch "funktioniert". Behandle es als ein ernstes Problem, das sie lösen müssen. Wir bezeichnen das hier als ein Tigerteam, das sich täglich trifft, um Statusaktualisierungen von allen Beteiligten zu erhalten. Normalerweise werden Sie vom Anbieter aufgefordert, Änderungen vorzunehmen. Wenn es sich um ein Prod-System handelt, ist dies problematisch. Wenn Sie jedoch möchten, dass sie helfen, müssen Sie die Verantwortung übernehmen, um das Problem einzugrenzen. Daher ist es hilfreich, wenn Sie eine Entwicklungs- / Staging-Umgebung haben, in der Sie Tests durchführen können.

  2. Teilen Sie dem Anbieter mit, dass er Ihre Umgebung replizieren soll, damit SIE das Problem in seinem Labor eingrenzen können. In einigen Cloud-Umgebungen können sie bei Bedarf sogar Inhalte hosten. Es muss nicht exakt zu Ihrer Umgebung passen, obwohl dies ideal wäre. Der Punkt ist, dass Sie möchten, dass der ANBIETER aktiv versucht, Ihr Problem zu replizieren, damit er seine Vermutungen auf seinem System testen kann, anstatt auf Ihrem. Fragen Sie sie nach den Diagrammen, Spezifikationen usw. dieser replizierten Umgebung, um sicherzustellen, dass sie dies tun.

  3. Versehen Sie sie (unter NDA natürlich) mit Ihrem tatsächlichen Datensatz, damit sie ihn für echt ausführen / wiedergeben können, anstatt zu raten. In unserem Fall stellen sich die meisten von unseren Anbietern bereitgestellten App-Probleme (sowohl vorübergehende als auch chronische) häufig als Probleme mit den zugehörigen von Anbietern bereitgestellten Datenbanken heraus. Ich kann nicht zählen, wie oft wir dies getan haben und sie haben das Problem schließlich auf etwas Unerwartetes in den tatsächlichen Daten lokalisiert - seltsame Artefakte von App-Upgrades vor 2 Jahren, bei denen etwas nicht sauber konvertiert wurde; veraltete Aufzeichnungen, die ein Problem mit den GC-Einstellungen aufdecken; Abfragen funktionieren nicht ganz richtig, weil UNSERE Datenwerte eine Transmog-Routine im Herstellercode unterbrechen usw. Sachen, die wir alleine niemals identifizieren könnten.

Wir haben dies mit einigen Anbietern in den letzten Jahren getan, und sie sind anfangs sehr widerstandsfähig dagegen, es auf unsere Weise zu tun. Nachdem es funktioniert hat, wird es in den vierteljährlichen Überprüfungen, die wir mit unseren Lieferanten durchführen, immer als positives Highlight gewertet. Und es hilft, unsere technischen Beziehungen zu diesen Anbietern zu festigen. Sie wollen keine vagen Probleme. Sie wollen spezifische Probleme, die sie analysieren können, um ihre Produkte zu verbessern.

Hoffe der Vorschlag hilft. Ich weiß, es ist kein einheitlicher Ansatz, aber wenn Sie es schwingen können, werden Sie es meiner Meinung nach lohnenswert finden.


3

Die eigentliche Frage ist, wer hier zuständig ist. Wenn Sie nicht realistisch zu einem alternativen Anbieter wechseln können, haben diese die Macht, und alles, was Sie wirklich tun können, ist, dem zu folgen, was sie sagen, und zu hoffen, dass es klappt. Keine glückliche Situation! Ansonsten schlage ich vor, Sie fragen nach einem anderen Mitarbeiter (wie andere gesagt haben), machen Sie jedoch deutlich, dass Sie mit dem Service nicht zufrieden sind und woanders nachsehen, wenn er die Arbeit nicht erledigt.

Nehmen Sie nicht nur die vorgeschlagenen Anpassungen vor, wenn Sie sicher sind, dass sie nicht funktionieren, da dies ein Muster für Ihre Beziehung darstellt, das Sie auf lange Sicht verletzen wird. Sie bezahlen sie, um Ihnen einen Service zu bieten, und sie sollten nicht mehr in der Lage sein, Ihre Handlungen zu diktieren, als jemand, den ich zum Streichen meines Hauses anheuere, vorschreiben kann, welche Farbe es haben wird.

Dies mag drastisch klingen, da es sich anscheinend nicht um ein äußerst kritisches Problem handelt, aber die Tatsache ist, dass sie wahrscheinlich dasselbe für etwas Großes tun und das Letzte, was Sie wollen, ist, dasselbe stoßen ein halbes Jahr später auf eine Art schrecklichen Charlie Foxtrott und haben dann die gleichen Probleme mit dem Verkäufer.

Stellen Sie sicher, dass alle Schritte, die Sie zur Behebung des Problems jetzt unternehmen, gleich gut funktionieren, wenn Sie zwei Tage vor Ablauf der Frist sind und alles kaputt geht ...


4
Ich hätte gedacht, dass es in einem Gegenargument Munition geben würde - Sie haben uns das letzte Mal gebeten, diese unsinnige Sache zu tun; wir taten als Geste des guten Willens. Dieses Mal möchten wir detaillierter darlegen, warum dies einen Unterschied macht.
Sobrique

@Sobrique Das macht Sinn und könnte auch so aussehen - ich kenne nicht genug Psychologie, um das eine oder andere auszudrücken. Mein Instinkt ist jedoch, dass, wenn Sie jetzt etwas getan haben, nur weil sie gesagt haben, dass sie tatsächlich mehr wissen als Sie, sie dasselbe in Zukunft erwarten werden. In beiden Fällen verschwenden Sie bereits Zeit, um das Problem zu lösen, wenn Sie mit ihnen streiten müssen (Munition oder nicht).
Benubird

"Wir haben es das letzte Mal auf deine Art gemacht. Du hast dich geirrt. Bist du bereit zu akzeptieren, dass du wieder falsch liegen könntest? Wir haben hier einen Präzedenzfall."
Sobrique

3

Ich werde eine Ansicht von der Seite des Verkäufers posten.

Wir hatten diesen Kunden, der dieses wiederkehrende Problem hatte, bei dem die Leistung der Software alle paar Stunden auf eine wirklich miserable Rate abfiel und dann einige Stunden später zurückkam.

Der Bulitin-Profiler im System zeigte an, dass die System-CPU (oder möglicherweise der Arbeitsspeicher) eklig langsam war, etwa 100 MHz, anstatt der erwarteten 2 GHz. Das Verdoppeln der von der VM bereitgestellten CPU hat das Symptom nicht geändert, und sie hielten uns für verschwenderisch.

Da sie keine schnellere CPU bekommen konnten (mehr CPUs würden nicht helfen), haben wir dann versucht, die VMs TEST und PROD auszutauschen. Das Problem tauchte dann am nächsten Tag bei TEST auf. Dann haben wir versucht, einen der Clients zu einer eigenständigen (serverlosen) Instanz hochzustufen. Kein Problem auf dieser Workstation, während der Server drosselte.

Sie erstellten Berichte vom VM-Host, in denen keine Leistungsprobleme angegeben wurden, und versuchten erneut, das Problem als Anwendungsproblem zu bezeichnen.

Schließlich habe ich [ein Ingenieur] (ich hatte keine Unterstützung von denen in dedizierten Support-Rollen) speziell nach einer physischen Box gefragt. Der Kunde schrie einen blutigen Mord, aber niemand hatte eine andere mögliche Lösung. Was weißt du, das Problem ist auf magische Weise verschwunden.

Wir haben nie herausgefunden, wo das Problem liegt. Alle Benchmark-Programme zeigten sich normal, aber der Anwendungsprofiler teilte uns mit, dass die Rechenressourcen einfach nicht ausreichend waren. Es gibt eine bestimmte Signatur, nach der wir jetzt im Profiler suchen. Wenn wir es sehen, wissen wir, bevor wir weiter kommen, dass das Problem die VM-Interaktion ist, aber es war zu der Zeit einfach nicht bekannt.

Sie dachten sicher, ich wäre voll davon. Ich war nicht. Ich hatte keine Optionen mehr.

EDIT, Update von Jahren später:

Da immer mehr Kunden auf VMs ausgeführt werden möchten und das Management bereit ist, das Problem um jeden Preis zu lösen, haben wir eine gute VM-Hardware. Ich war in der Lage, ein spezielles VM-Brennprogramm zu erstellen, das auf zwei Single-Core-VMs mit 512 MB RAM im Userspace lief (und keine Berechtigungen benötigte) und mit nur 4 ein Drittel der Arbeitsspeicherleistung einer anderen Single-Core-VM verbrauchte Insgesamt sind von 16 Kernen auf dem VM-Host Kerne im Einsatz, und der größte Teil des RAM ist noch frei. Das Programm löste keine Alarme aus und zeigte weder auf dem VM-Host noch auf einem der Gäste ungewöhnliche Ereignisse an, mit Ausnahme des langsamen Speicherzugriffs.

Jetzt können wir unseren Kunden mitteilen, dass ein Problem mit VMs vorliegt und nicht mit unserer Software. Von Zeit zu Zeit erhalten wir immer noch Kundenanfragen nach VM-kompatibler Software. Ich frage mich, warum der Support dem Management nicht mitteilt, dass wir in der Lage sind, eine Software zu entwickeln, die jede andere VM auf demselben Host verlangsamt.

Das Beängstigende ist, dass es sich bei der Technik um eine einfache Transformation bekannter Programmiertechniken handelt, bei der die Synchronisation ohne Sperren erfolgt. Hunderte von Softwareanbietern könnten diesen VM-Trockner in ihrer Software haben und wissen es nicht. Es sollte selten, aber nicht unmöglich sein, eine atomare Anweisungssperre zu erhalten, die heiß umkämpft ist. Der amüsante Teil von allem ist, dass ich die Sperre bekommen habe, um ACROSS VMs herauszufordern.


-3

Ich würde eine ganz andere Herangehensweise vorschlagen als die bisher erwähnten. Bevor Sie mit dem Verkäufer diskutieren, schauen Sie sich das gemeldete Problem genauer an und finden Sie heraus, was Ihnen das sagt.

Welche Probleme werden aktuell gemeldet und welche Erwartungen haben die Benutzer? Wenn ein Benutzer etwas sagt, das "zu lange dauert", fragen Sie ihn genau, was "es" ist (damit Sie es reproduzieren können), wie lange er denkt, dass es dauern sollte und warum er denkt, dass es so lange dauern sollte. Wenn ihre Erwartungen vernünftig sind, messen Sie die tatsächliche Leistung und die Systemauswirkung dessen, was sie zu tun versuchen. Die Tatsache, dass Ihr System über einen Monat einen Anstieg von 30% aufweist, bedeutet nicht, dass es nicht mit> 100% ausgeführt wird, wenn der Benutzer seine Abfrage versucht. Wenn Sie Ihrem Lieferanten nachweisen können, dass CPU und Speicher nicht durch die problematische Aufgabe belastet werden, können Sie den Lieferanten bitten, Empfehlungen zu begründen, die Sie Geld kosten.


1
Die gesamte erste Hälfte Ihres Vorschlags scheint bereits erledigt zu sein. Die ganze zweite Hälfte ist genau das, was das OP verlangt.
Chris S

Ich würde nicht zustimmen. Es liegen keine Beweise für eine Problemanalyse vor, und die angegebenen CPU- und Mem-Zahlen sind monatliche Aggregationen, die keine offensichtliche Relevanz für das jeweilige Problem haben.
Paul Smith
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.