it-swarm.com.de

Wie kann man [höflich?] Dem Softwareanbieter mitteilen, dass er nicht weiß, wovon er spricht?

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

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

CPU-Freigaben, die so konfiguriert sind, dass die Testumgebung keine Auswirkungen auf die Produktion hat. Alle Speicher auf SAN.

Wir hatten einige Fragen zur Leistung, und der Anbieter besteht darauf, dass wir dem Produktionssystem mehr Speicher und vCPUs geben müssen. Aus vCenter können wir jedoch deutlich erkennen, dass die vorhandenen Zuordnungen nicht berührt werden, z. B.: Eine monatliche Ansicht der CPU-Auslastung auf dem Hauptanwendungsserver liegt bei etwa 8%, wobei die ungerade Spitze bis zu 30% beträgt. Die Spitzen fallen in der Regel mit dem Einschalten der Backup-Software zusammen.

Ähnliche Geschichte zu RAM - die höchste Auslastung auf den Servern liegt bei ~ 35%.

Wir haben also einige Prozesse mit Process Monitor (Microsoft SysInternals) und Wireshark durchgeführt, und wir empfehlen dem Anbieter, zunächst TNS-Optimierungen vorzunehmen. Dies ist jedoch nicht der Punkt.

Meine Frage lautet: Wie können wir sie dazu bringen, anzuerkennen, dass die von uns gesendeten VMware-Statistiken Beweise dafür sind, dass mehr RAM/vCPU nicht hilft?

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

Interessante Woche. Unser IT-Management hat gesagt, dass wir die Änderung an den Zuweisungen VM] vornehmen sollten, und wir warten jetzt auf einige Ausfallzeiten der Geschäftsbenutzer. Seltsamerweise sagen die Geschäftsbenutzer dies mit Sicherheit Aspekte der App laufen langsam (im Vergleich zu dem, was ich nicht weiß), aber sie werden uns "wissen lassen", wann wir das System herunterfahren können (murren, murren!).

Abgesehen davon ist der "langsame" Aspekt des Systems anscheinend nicht das HTTP (S) -Element, d. H.: Die "dünne App", die von den meisten der Benutzer verwendet wird. Es hört sich so an, als ob die "Fat Client" -Installationen, die von den wichtigsten Finanzinstituten verwendet werden, anscheinend "langsam" sind. Dies bedeutet, dass wir jetzt die Client- und Client-Server-Interaktion in unseren Untersuchungen berücksichtigen.

Da der ursprüngliche Zweck der Frage darin bestand, Hilfe zu suchen, ob Sie den "Poke it" -Routen beschreiten oder nur die Änderung vornehmen möchten, und wir jetzt die Änderung vornehmen, werde ich sie mit schließen langer HalsAntwort.

Vielen Dank für Ihre Eingabe; Serverfault war wie immer mehr als nur ein Forum - es ist auch wie eine Psychologencouch :-)

62
Simon Catlin

Ich schlage vor, dass Sie die angeforderten 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 verdeutlichen.

Außerdem: "Wir bezahlen Sie dafür, dass Sie die Software mit tatsächlichen Lösungen unterstützen, nicht mit Vermutungen."

94
longneck

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

Dann jede Behauptung, die sie in Bezug auf die Anforderung von mehr RAM oder CPU) machen, sollten sie in der Lage sein, zu sichern. Als Experten in ihrem System halte ich die Leute dafür zur Rechenschaft.

Fragen Sie sie nach Einzelheiten.

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

  • Welche Informationen auf dem 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 das 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 habe, habe ich die gleichen Fragen gestellt. Manchmal hatte ich recht und sie konzentrierten ihre Aufmerksamkeit nicht richtig auf mein Problem. In anderen Fällen war ich jedoch falsch und habe die Daten falsch interpretiert oder andere Daten, die für meine Analyse wichtig waren, nicht berücksichtigt.

In jedem Fall waren beide Situationen für mich ein Nettovorteil, entweder habe ich etwas Neues gelernt, das ich vorher nicht kannte - oder ich habe ihre Support-Teams dazu gebracht, über mein Problem nachzudenken, um anständig zu werden Ursache.

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, um Kompromisse einzugehen, und vernünftig sein, um zu akzeptieren, dass Ihre Interpretation der Daten falsch ist), dann ist dies falsch 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.

67
Matthew Ife

Für diese spezifisch Situation (in der Sie VMware- und Anwendungsentwickler oder einen Dritten haben, der die Ressourcenzuweisung nicht versteht) verwende ich Metriken im Wert von einer Woche, die von vCenter abgerufen wurden Operations Manager (vCops - bei Bedarf eine Demo herunterladen), um die tatsächlichen Einschränkungen, Engpässe und Größenanforderungen der VM (s) der Anwendung zu ermitteln.

Manchmal war ich in der Lage, die hartnäckigeren Kunden zufrieden zu stellen, indem ich VM Reservierungen geändert oder Prioritäten geändert habe, um Konfliktszenarien zu behandeln; " Wenn RAM | CPU knapp ist, [~ # ~] Ihre [~ # ~] VM hat Vorrang ! ". Schlecht-schlechte Dinge ist passiert, als ich Softwareanbietern erlaubt habe, ihre Anforderungen an meine vSphere-Cluster ohne echte Analyse zu diktieren .

Aber im Allgemeinen sollten sich Zahlen und Daten durchsetzen.


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

Dev : Die VM benötigt MOAR-CPU !

Ich : Nun, das Gedächtnis ist Ihre größte Einschränkung, und hier ist eine Heatmap Ihrer Leistung gegenüber der Zeit ... Mittwochs um 18 Uhr sind die die stressigsten Perioden, so dass wir um diese Spitzenzeit spezifizieren können. Oh, und hier ist eine Größenempfehlung basierend auf den Produktionsmetriken der letzten 6 Wochen ...

enter image description here

enter image description here

enter image description here

17
ewwhite

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

Alles in allem ist es am einfachsten, die angeforderten Anpassungen zumindest vorübergehend vorzunehmen. Wenn nichts anderes dazu führt, dass Anbieter über die Füße ziehen. Ich kann nicht zählen, wie oft ich so etwas Verrücktes tun musste, um einen Techniker am anderen Ende der Leitung davon zu überzeugen, dass sich seine Software wirklich nicht verhält.

17
Tim Brigham

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

  • laufen Sie mindestens bereits bei den vom Hersteller angegebenen Mindestsystemanforderungen?
  • wenn Sie mindestens die Mindestanforderungen an sysreqs haben, sind Sie bereits bei den "empfohlenen" Systemeinstellungen?

Anbieter werden 99-mal von 100 (meiner Erfahrung nach - sowohl auf der Support-Seite als auch auf der Kunden-/Außendienstseite) nicht einmal mit leistungsbezogenen Problemen befasst sein, bis/sofern die Systeme nicht den Anforderungen ihrer Dokumentation entsprechen. Vielleicht ist es ein System, das 99,5% der Zeit mit 1 CPU und 512 MB RAM - aber wenn die Systemanforderungen 4 CPUs und 4G RAM und Sie) sagen) Wir haben nur 2 CPUs und 1G RAM, sie haben das Recht, mehr Ressourcen zuzuweisen* *.

Es ist wahrscheinlich, dass Sie aufgefordert werden, 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, ist dies ein Beispiel für ein potenziell schlechtes Debugging am Ende, aber denken Sie daran, dass sie keine Zeit haben, alle mögliche Fehler/Probleme zu beseitigen, die auftreten - einige nur müssen umgangen werden, und wenn dies hier der Fall ist, machen Sie 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 auf genau diese Situation gestoßen, die mit der Swap-Größe BEA WebLogic und dem Sun JRE bei einem Kunden zusammenhängt.

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/Debugging-Schritte/Korrekturen von der Wand oder sinnlos klingen.


* *Wenn es wirklich diese zusätzlichen Ressourcen nicht "benötigt", sind Sie wahrscheinlich an einem Ort, an dem Sie einen Dokumentfehler/eine RFE für zukünftige Versionen einreichen können - aber drücken Sie diese Route nicht bis Sie gezeigt haben, dass es nicht das Problem ist
^ein eBook, das ich geschrieben habe, ist möglicherweise hilfreich zum Thema: Debuggen und Unterstützen von Softwaresystemen

10
warren

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 Meinung sind, dass das aktuelle Supportniveau das Problem nicht angemessen behebt. Wenn sie nicht eskalieren, kann es hilfreich sein, nach einem anderen Vertreter zu fragen, da dies viel weniger "Rechtfertigung" erfordert, da alles, was es braucht, nicht mit dem aktuellen zufrieden zu sein.

Wenn es sich um einen großen Anbieter handelt, kann das einfache Schließen des Tickets und das Öffnen eines neuen Tickets für dasselbe Problem funktionieren, da es möglicherweise an einen anderen Mitarbeiter weitergeleitet wird. Ich würde jedoch davon abraten, da es sich um eine schlechte Form handelt.

Sie können 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.

8

Ich werde meine zwei Cent einwerfen. 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 ernsthafte Probleme mit unseren On-Premise-Apps haben, die durch Anbieter-Support-Verträge abgesichert sind, und die Anbieter ihren Ausweich-Tanz beginnen (der immer ausgefallene, nicht datengesteuerte Anforderungen an mehr CPU oder RAM beinhaltet), tendieren wir dazu Mach diese 3 Dinge:

  1. Eskalieren Sie die Priorität auf ein System-Down-Äquivalent - sie schrecken normalerweise zurück, gehen aber normalerweise zurück, wenn Sie erklären, dass es effektiv unbrauchbar ist, selbst 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 Stakeholdern zu erhalten. Normalerweise werden Sie vom Anbieter aufgefordert, Änderungen vorzunehmen. Wenn es sich um ein Produktsystem handelt, ist dies problematisch. Wenn Sie jedoch möchten, dass sie helfen, müssen Sie die Verantwortung dafür übernehmen, dass sie das Problem eingrenzen. Daher ist es hilfreich, wenn Sie über eine Entwicklungs-/Staging-Umgebung verfügen, in der Sie Tests ausfü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. Bei Bedarf können sie sogar Inhalte in einer Cloud-Umgebung hosten. Es muss nicht genau zu Ihrer Umgebung passen, obwohl dies ideal wäre. Der Punkt ist, dass Sie möchten, dass der VERKÄUFER aktiv versucht, Ihr Problem zu replizieren, damit er seine Vermutungen auf seinem System anstelle Ihres testen kann. Fragen Sie sie nach den Diagrammen, Spezifikationen usw. dieser replizierten Umgebung, um sicherzustellen, dass sie dies tun.

  3. Stellen Sie ihnen (unter NDA natürlich)) Ihren tatsächlichen Datensatz zur Verfügung, damit sie ihn real ausführen/wiedergeben können, anstatt zu raten. In unserem Fall treten die meisten von unseren Anbietern bereitgestellten App-Probleme auf (beide vorübergehend) und chronisch) stellen sich häufig als Probleme mit den 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 zurückgeführt - seltsame Artefakte aus der App Upgrades vor 2 Jahren, bei denen etwas nicht sauber konvertiert wurde, veraltete Datensätze, die ein Problem mit den GC-Einstellungen aufdecken, Abfragen, die nicht ganz richtig funktionieren, weil UNSERE Datenwerte eine Transmog-Routine im Herstellercode beschädigen usw. Dinge, die wir niemals identifizieren könnten auf eigene Faust.

Wir haben dies in den letzten Jahren mit einigen Anbietern gemacht, und sie sind anfangs sehr widerstandsfähig, dies auf unsere Weise zu tun. Nachdem es funktioniert hat, ist es in den vierteljährlichen Überprüfungen, die wir mit unseren Anbietern durchführen, immer ein positives Highlight. Und es hilft uns, unsere technische Beziehung 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ß, dass es kein One-Size-Fits-All-Ansatz ist, aber wenn Sie es schwingen können, werden Sie es meiner Meinung nach lohnenswert finden.

4
pdapel

Die eigentliche Frage ist, wer hier verantwortlich 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, dass Sie nach einem anderen Vertreter fragen (wie andere gesagt haben), aber machen Sie deutlich, dass Sie mit dem Service nicht zufrieden sind und sich anderswo umsehen, wenn sie den Job nicht erledigen können.

Nehmen Sie nicht einfach "die von ihnen 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 in der Lage sein, Ihre Handlungen mehr zu diktieren, als jemand, den ich anheuere, um mein Haus zu streichen, bestimmen kann, welche Farbe es haben wird.

Dies mag drastisch klingen, da dies kein äußerst kritisches Thema ist, aber Tatsache ist, dass sie, wenn sie Sie an etwas Kleinem herumspielen, wahrscheinlich dasselbe für etwas Großes tun, und das Letzte, was Sie wollen, ist es Treffen Sie sechs Monate später auf eine Art schrecklichen Charlie Foxtrott und haben Sie dann die gleichen Probleme mit dem Verkäufer.

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

3
Benubird

Ich werde eine Ansicht von der Seite des Anbieters veröffentlichen.

Wir hatten diesen Kunden, der dieses wiederkehrende Problem hatte, bei dem die Leistung der Software etwa alle paar Stunden auf eine wirklich miserable Geschwindigkeit abfiel und einige Stunden später wieder auftrat.

Der Bulitin-Profiler im System zeigte an, dass die Geschwindigkeit der System-CPU (oder möglicherweise des Speichers) ekelhaft langsam war, etwa 100 MHz anstelle der erwarteten 2 GHz. Das Verdoppeln der von VM bereitgestellten CPU änderte das Symptom nicht und sie dachten, wir wären verschwenderisch.

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

Sie erstellten Berichte vom VM Host, in denen keine Leistungsprobleme angegeben waren, und versuchten erneut, zu behaupten, es handele sich um ein Anwendungsproblem.

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

Wir haben nie herausgefunden, wo das Problem lag. Alle Benchmark-Programme zeigten sich normal, aber der Anwendungsprofiler sagte uns, dass die Rechenressourcen einfach nicht ausreichend waren. Es gibt eine Art spezifische Signatur, nach der wir jetzt im Profiler suchen. Wenn wir es sehen, wissen wir, bevor wir weiter kommen, dass das Problem VM Interaktion ist, aber es war zu diesem Zeitpunkt 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 und im Management arbeiten möchten, die bereit sind, das Problem um jeden Preis zu lösen, haben wir gute VM Hardware. Ich konnte ein spezielles VM Brennprogramm erstellen, das im Benutzerbereich (und ohne Berechtigungen) auf zwei Single-Core-VMs mit 512 MB RAM ausgeführt wurde und 1/3 Speicherleistung aus einer anderen Single herausholen konnte -core VM mit nur 4 von insgesamt 16 Kernen, die auf dem VM Host verwendet werden, und der größte Teil seines RAMs ist noch frei. Das Programm löste keine Alarme aus und zeigte weder auf dem VM Host noch auf einem der Gäste etwas Außergewöhnliches, außer dass der Speicherzugriff langsam war.

Jetzt können wir Kunden mitteilen, dass wir wissen, dass es ein Problem mit VMs gibt, und es ist nicht unsere Software. Von Zeit zu Zeit erhalten wir immer noch Kundenanfragen nach VM kompatibler Software. Ich frage mich, warum das Management nicht zulässt, dass der Support ihnen sagt, dass wir eine Software entwickeln konnten, die alle anderen VM auf demselben Host verlangsamt.

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

3
joshudson