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 :-)
Antworten:
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."
quelle
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.
quelle
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.
quelle
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 ...
quelle
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
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
quelle
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.
quelle
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:
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.
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.
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.
quelle
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 ...
quelle
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.
quelle
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.
quelle