Frigge Geschrieben 27. August 2010 Geschrieben 27. August 2010 Hallo liebe Finfs, ich stehe gerade vor der Aufgabe, die Performance einer bestimmten Anwendung unter verschiedenen Betriebsystemen zu testen und zu dokumentieren. Als Grundlage verwende ich zwei virtuelle Maschinen unter VMware mit exakt derselben Konfiguration (RAM, CPU usw.). In einer VM ist CentOS 5.5 und in der anderen Windows Server 2k3 installiert. Zu dem ist in beiden VMs das Programm installiert dessen Performance gemessen werden soll. Kennt jemand evtl. ein Tool, welches die CPU- und RAM-Auslastung eines einzigen Prozesses messen und anzeigen kann? Ähnlich dem Taskmanager oder der Systemüberwachnung. Bin für jede Idee dankbar Gruß frigge Zitieren
Bubble Geschrieben 27. August 2010 Geschrieben 27. August 2010 Performancemessungen macht man besser nicht in einer VM sondern mit echter Hardware. Wie man vorgeht hängt stark von der Art des zu testenden Programms und was man genau wissen will ab. Was für eine Aussage versprichst Du Dir von Mittelwerten für die CPU oder RAM-Auslastung? Zitieren
Frigge Geschrieben 27. August 2010 Autor Geschrieben 27. August 2010 Hi Bubble, ich muss den Test leider in ner VM machen, da ich nicht zweimal dieselbe Hardware zur Verfügung habe. Das Programm, was ich testen soll, soll später entweder auf einem Linux-X-Application-Server oder auf einem Windows-Terminal-Server laufen. Da festgestellt wurde, dass es zu unterschieden zwischen beiden Betriebssystemen kam, soll ich nun testen unter welchen OS weniger CPU und RAM benötigt werden. Gruß frigge Zitieren
Bubble Geschrieben 27. August 2010 Geschrieben 27. August 2010 ich muss den Test leider in ner VM machen, da ich nicht zweimal dieselbe Hardware zur Verfügung habe. Man kann doch auch nacheinander testen. Für ganz saubere Tests sollte die Testumgebung im Idealfall ohnehin neu aufgesetzt werden. Das Programm, was ich testen soll, soll später entweder auf einem Linux-X-Application-Server oder auf einem Windows-Terminal-Server laufen. Dann kann man dies mit in der Testumgebung berücksichtigen. soll ich nun testen unter welchen OS weniger CPU und RAM benötigt werden. Ich halte diese beiden Kriterien für nicht unbedingt interessant. Wichtig ist doch wie schnell das Programm bzw. die Oberfläche reagiert und wie lange ein Benutzer auf Berechnungen usw. warten muss (falls dies hier relevant ist). Und wenn das Programm das Gleiche ist (in Java geschrieben?) dann dürfte der Resourcenverbrauch ohnehin sehr ähnlich sein. Zitieren
Frigge Geschrieben 27. August 2010 Autor Geschrieben 27. August 2010 Man kann doch auch nacheinander testen. Für ganz saubere Tests sollte die Testumgebung im Idealfall ohnehin neu aufgesetzt werden. Im Netz, wo getestet wird, steht mir nur ein Windows Server (Host) mit installierten VMware zur Verfügung. Das Host-System darf ich nicht an packen, weshalb eine Neuinstallation nicht in Frage kommt. Allerdings kann ich soviele VMs anlegen wie ich möchte und wenn ich dort bei beiden dieselbe Hardware einstelle, hab ich ja die gleichen Voraussetzungen. Auf echter Hardware zu testen wäre mir auch lieber, ist aber leider nicht drin. Ich halte diese beiden Kriterien für nicht unbedingt interessant. Wichtig ist doch wie schnell das Programm bzw. die Oberfläche reagiert und wie lange ein Benutzer auf Berechnungen usw. warten muss (falls dies hier relevant ist). Und wenn das Programm das Gleiche ist (in Java geschrieben?) dann dürfte der Resourcenverbrauch ohnehin sehr ähnlich sein. Ich bin auch der Meinung, dass der Unterschied nicht sehr groß sein wird. Gerade weil das Programm in Java geschrieben ist, wie du schon richtig erraten hast. Aber mein "Auftraggeber" will Belege dafür haben. Antwortenzeiten wäre auch noch interessant, hast recht. Nur brauche ich irgendein Tool für sowas und mir selber fällt leider keins ein. Hast du denn vielleicht eine andere Idee, wie man solche Test durchführen kann bzw. belegen kann, dass sich im Resourcenverbrauch nicht viel tut? Zitieren
Bubble Geschrieben 27. August 2010 Geschrieben 27. August 2010 Im Netz, wo getestet wird, steht mir nur ein Windows Server (Host) mit installierten VMware zur Verfügung. Das Host-System darf ich nicht an packen Du kannst also nicht einmal sicherstellen, dass Du der alleinige Nutzer der Hardware (nicht der VM!) bist, da in inrgendeiner anderen von Dir nicht kontrollierten VM noch etwas anderes ablaufen kann? Falls ja, kannst Du unter diesen Voraussetzungen jeden sinnvollen, reproduzierbaren Performancetest ohnehin vergessen. Allerdings kann ich soviele VMs anlegen wie ich möchte und wenn ich dort bei beiden dieselbe Hardware einstelle, hab ich ja die gleichen Voraussetzungen. Nein, hast Du nicht. Entscheidend ist die zugrundeliegende echte Hardware und nicht nur, wie die virtuelle aussieht. Hast du denn vielleicht eine andere Idee, wie man solche Test durchführen kann bzw. belegen kann, dass sich im Resourcenverbrauch nicht viel tut? Zuerst müssten reproduzierbare Test-Cases her, darunter typische und gegebenfalls auch ein paar extreme Fälle. Wie man weiter vorgeht, hängt sehr von der Art des Programms ab, wie man es bedient, was es tut und was primär getestet werden soll. Gegebenenfalls muss das Programm für einige Tests auch um geeignete Hilfsfunktionen erweitert werden oder es müssen zusätzlich geeignete Testprogramme geschrieben werden. Zitieren
lilith2k3 Geschrieben 28. August 2010 Geschrieben 28. August 2010 Schmeiß die Konsole an und gib mal top ein. Zitieren
FfFCMAD Geschrieben 30. August 2010 Geschrieben 30. August 2010 Fuer einen Benchmark einer Anwendung hat das Hardware und Treibergeruest immer gleich zu sein. Wenn du die Performanz eines Programmes und zwei verschiedenen Betriebssystemen testen musst, kann ich dir sagen, das das ziemlich schwierig wird. Unter Windows 7 habe ich das Phanomen, das es mir z.B. bei Winrars Systemtest nach wenigen Minuten fuer 14% weniger Leistung sorgt, weil die 4 CPUs nur noch mit durchschnittlich 70% ausgelastet werden. Wenn ich den Media-Player starte, gehts aber wieder im Schnitt auf 80% CPU-Last hoch. Einige Anwendungen sind unter Win 7 nicht davon betroffen. (Prime 95) Du solltest also immer dafuer sorgen, das nur die Programme auf dem OS laufen, die du auch testen willst. Lasse das Betriebssystem auch erst einmal ein paar Minuten laufen, ohne das du anfaengst, zu testen. Wie ich bereits erwaehnt habe, kann es durchaus sein, das ein Teil Systemleistung nach ein paar Minuten durch einen Dienst herabgesetzt wird, oder wieder freigegeben wird. Der test unter einer VM ist nicht aussagekraeftig. Hier sind weder optimierte Treiber fuer die Hardware vorhanden, noch kann dem Wirtssystem eine gesicherte, stabile Systemleistung zugesichert werden. Zitieren
FfFCMAD Geschrieben 30. August 2010 Geschrieben 30. August 2010 PS: Also achte auch darauf, ob die CPU bei beiden getesteten Systemen waehrend des Programm-Benchmarkes identisch ausgelastet wird. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.