Microservice Dauer

Alex_Wa

Mitglied
Hallo zusammen :),

ich habe einen Microservices erstellt welcher mir eine Excel mit 237 Spalten und ca 3000 Zeilen erstellt und speichert. Dafür habe ich POI verwendet, mit der SXSSFWorkbook Klasse und dem SXSSF-Sheet.

So, jetzt habe ich den ganzen Service zunächst local getestet. Dieser läuft auch innerhalb von ~2 Min. sauber durch.
Sobald ich aber das ganze auf dem Server und in meiner WepApp laufen lasse, dauert das Ganze 12 Minuten - anstatt, wie local, nur 2 Minuten.

Hatte jemand ähnliche Probleme und könnte aus seiner Erfahrung aus sagen wo hier das Problem liegen könnte? Laut Logging besteht das Problem beim Schreiben der Spalten/Zeilen (auf dem Server).

Möchte jetzt nur ungern meine ca. 1200 Zeilen Code hier reinstellen, da hier nicht der Fehler ist. Was ich vermute ist, dass sich beim Kompilieren ein Fehler oder eher gesagt Leiche eingeschlichen hat. Leider weiß ich nicht genau wo ich mit der Suche anfangen soll und würde mich über Tips sehr freuen :).


Vielen Dank im Voraus und einen angenehmen Tag!


Liebe Grüße

Alex
 

LimDul

Top Contributor
Definiere "lokal getestet".
Lokal als Kommandozeilen Programm? Oder lokal Server gestartet und im Server lokal getestet?

Beim kompilieren können sich eigentlich keine Fehler reinschleichen, meine Vermutung wäre eher:
  • Speicher Probleme bzw. Garbage Collector (700k Zellen sollte aber nicht so viel sein, was für Daten stehen denn im Schnitt in jeder Zelle drin?)
  • Falsche Nutzung von irgendwelchen Server-Konzepten

Deswegen wäre es interessant zu wissen, wie du es lokal getestet hast.
 

Alex_Wa

Mitglied
Lokal im Sinne von einer Spring-Boot Anwendung die ich local starte. In Eclipse unter Boot Dashboard die jeweiligen Server gestartet - also config, discovery, Hostserver (hostet die Anwendung über Angular) und Microservices selbst. Dann in Angular die Webanwendung gestartet (ng serve -o) und den Microservices aufgerufen.

In den Zeilen stehen verschiedene Daten - Strings, Numeric, Datum aber auch leere Strings.
 

LimDul

Top Contributor
Ich würde es versuchen lokal mal mit der gleichen Umgebung zu testen wie remote. Ich hab da selber von dem Zeug nicht wirklich Ahnung.
 

Alex_Wa

Mitglied
Was meinst du mit "Umgebung"? Local starte ich die Anwendung über Angular und auf dem Server über den Browser direkt mit der jeweiligen URI und Port. Wie soll ich local sowie remote alles über die "gleiche" Umgebung starten? Verstehe ich nicht ganz.
 

Oneixee5

Top Contributor
Wie sind die Praramter für -Xms, -Xmx und -XX in den jeweiligen Umgebungen eingestellt, also lokal/Server. @see: https://www.baeldung.com/jvm-parameters
Gibt es Fehlermeldungen oder Warnungen in den Logfiles, z.B.: OutOfMemoryError?
Wie hoch ist die CPU-Last in den Umgebungen? Eine hohe CPU-Last deutet manchmal auf eine hohe Aktivität des Garbage Collectors hin und damit auf Speichermangel.
Gibt es Auffälligkeiten in JConsole: https://openjdk.org/tools/svc/jconsole/
...
 

Alex_Wa

Mitglied
Zu den Parametern kann ich aktuell nichts sagen. Da müsste ich erst auf die Suche gehen. (Das hat jemand anderes programmiert)

Fehlermeldungen gibt es keine. CPU-Last habe ich beobachtet und hier ist auch kein Ausreißer zu sehen. Es gibt auch keine Aufälligkeiten in der JConsole.

Mich wundert es nur, dass es local ohne Probleme läuft, ich aber, sobald ich es auf dem Server laufen lasse, erhebliche Einbüsen der Performance habe.
 

httpdigest

Top Contributor
Du hast aktuell noch überhaupt nicht die Architektur des Services beschrieben. Der füllt irgendein großes Excel-Sheet mit POI, aber woraus denn? Also was ist die Datengrundlage dafür? Verwendet der irgendeine remote Datenbank, auf die er zugreift? Macht er irgendwelche Remote HTTP-Calls gegen externe Services? Schreibt/liest er irgendwie heftig im Dateisystem rum? Hat er vielleicht eine HDD statt einer SSD angebunden im Server?
Basically: Was passiert denn überhaupt? Was sind die Abhängigkeiten des Services? Was macht er?
 

Alex_Wa

Mitglied
Also, der Service liest zunächst eine CSV- und mehrere Excel-Dateien ein und speichert diese in zwei Model-Klassen (Getter/Setter). Das funktioniert ohne Probleme. Anschließend wird in der Service-Klasse auf diese Klassen zugegriffen und eine finale Excel erstellt. Zunächst der Header und anschließend mit 2 For-Schleifen der Inhalt der Dateien. Dabei wird der Inhalt der Excel erst nach einer bestimmten Bedingung geschrieben. Am Ende werden die eingelesenen Dateien nur noch in einen anderen Ordner verschoben. Was auch ohne Verzögerung passiert.

Da es eine Microservices-Architektur ist, wird über eine URL der Service aufgerufen (HTTP-Request/Response).

Es gibt bereits andere Services die große Daten verarbeiten und in eine Excel schreiben und speichern - ohne Probleme. Lediglich dieser Service will auf dem Server einfach nicht performen.
 

httpdigest

Top Contributor
Was sind denn die dem Service zugeordneten vCPUs und RAM-Größen? Vielleicht ist er ja die ganze Zeit am Speicherlimit und macht eigentlich nur noch Garbage Collection?
 

httpdigest

Top Contributor
Das hat doch nichts mit Eclipse zu tun... dein Service läuft doch auf einem Host und dort wird er doch auch irgendwie gestartet.
Oder versteh ich hier alles komplett falsch? Also: Du hast einen Java Service, der auf einem Server/Host/VM/whatever läuft.
Und die Frage ist jetzt: Wie wird dein Service auf dem Server genau gestartet? Ja nicht über Eclipse...
 

Alex_Wa

Mitglied
Der Service wird auf einem physischen Server installiert und gestartet. Dann wird über REST und HTTP gearbeitet. Willst du das wissen oder verstehe ich dich jetzt falsch?

Für die Installation und Start habe ich ein Admin Profil. Darüber installiere (.exe Datei) ich erst nach Kompilieren den Service auf dem Server und starte ihn über die Cmd Datei. Dann ist der Service unter Windows Services zu sehen. Und wie erwähnt handelt es sich um eine Microservices-Architektur (Discovery/Config-Server etc.). Und im Browser wird einfach ein Client/Server HTTP-Request/Response durchgeführt.
 

httpdigest

Top Contributor
Und wie erwähnt handelt es sich um eine Microservices-Architektur (Discovery/Config-Server etc.).
Der Begriff "Microservice" ist nicht standardisiert. Man kann alles mögliche unter einem "Microservice" verstehen.
Wenn du noch einmal sagst "Wie gesagt, es handelt sich um einen Microservice Architektur und demzufolge ist ABC und XYZ Teil davon" dreh ich durch...
 

Alex_Wa

Mitglied
Der Begriff "Microservice" ist zwar nicht standardisiert, so wie viele Begriffe/Themen in der IT, jedoch werden damit diese Begriffe, die ich genannt habe, assoziiert. Kann dir gerne paar Bücher nennen da kannst du es nachlesen. Und außerdem kannst du deine depressive Einstellung woanders rauslassen. Pass also zukünftig auf deine verbale Kommunikation auf. Sonst wirst du missverstanden (Röhne und Schütz - Psychologie der Kommunikation. Kann ich dir nur als Literatur zum lesen empfehlen.). Kannst dich also gerne aus diesem Thread raushalten. Keine Lust auf solche negativ eingestellten Menschen die nur meckern weil man einen "Fehler" gemacht hat.
 

KonradN

Super-Moderator
Mitarbeiter
Der Begriff "Microservice" ist zwar nicht standardisiert, so wie viele Begriffe/Themen in der IT, jedoch werden damit diese Begriffe, die ich genannt habe, assoziiert. Kann dir gerne paar Bücher nennen da kannst du es nachlesen. Und außerdem kannst du deine depressive Einstellung woanders rauslassen. Pass also zukünftig auf deine verbale Kommunikation auf. Sonst wirst du missverstanden (Röhne und Schütz - Psychologie der Kommunikation. Kann ich dir nur als Literatur zum lesen empfehlen.). Kannst dich also gerne aus diesem Thread raushalten. Keine Lust auf solche negativ eingestellten Menschen die nur meckern weil man einen "Fehler" gemacht hat.
Also irgendwie fehlt mir hier jedes Verständnis. Du hast ein Problem - zu dem Du uns extrem viele Informationen vorenthältst. Fragen nach Details werden nicht oder nur unzureichend beantwortet. Und dann sind wie (oder zumindest httpdigest) negativ eingestellte Menschen?

Also gib endlich einfach mal Details! Und dass es ein Mikroservice sein soll hast Du nun oft genug geschrieben - das immer zu wiederholen gibt uns keine weiteren Informationen, die uns helfen könnten, dir zu helfen.

Ansonsten: Mal irgend etwas analysiert? Performance-Messungen könnte man machen. Was dauert denn wie lange? Zum Testing und Monitoring von Microservices gibt es übrigens auch viel Dokumentation. (Vielleicht will dir httpdigest ja paar Bücher nennen :) SCNR) Aber zur Not reichen ggf. auch einfache Logfiles die man schreiben könnte ...

Wenn es aber auf einem Windows System läuft, auf das du vollen Zugriff hast, dann hast Du da doch eh die vollen Möglichkeiten. (Und sei es nur ein Blick in den Taskmanager (Wobei Windows extrem viele, gute Performance Monitoring Möglichkeiten bietet).

Für die Installation und Start habe ich ein Admin Profil. Darüber installiere (.exe Datei) ich erst nach Kompilieren den Service auf dem Server und starte ihn über die Cmd Datei. Dann ist der Service unter Windows Services zu sehen.
Das alleine wäre einmal auszuführen. Was nutzt ihr denn, um da dann den Windows Service zu haben? Ist es einfach nur ein Wrapper wie bei Tomcat? Was startet die CMD Datei? Admin Profil meint ein Maven Profile? Dann könnte Details da auch schon interessant sein um zu sehen, was da wie auf den Server deployed wird.
 

httpdigest

Top Contributor
Ich bin mehr und mehr der Meinung, dass es einfach nichts mehr bringt, bei solchen Fragen Lebenszeit zu investieren.
Es ist letztlich genauso wie bei Stackoverflow: Jemand fragt, warum irgendwas nicht geht, ohne irgendwelche Details zu liefern.
Das Ergebnis davon: Die Frage wird einfach ignoriert, downvoted und geschlossen. Das würde ich mir häufig hier auch wünschen.
Wenn jemand hier einfach nur trollt wie @Alex_Wa , dann reagiere ich entweder genervt oder gar nicht. :)
 

KonradN

Super-Moderator
Mitarbeiter
Ich bin mehr und mehr der Meinung, dass es einfach nichts mehr bringt, bei solchen Fragen Lebenszeit zu investieren.
Es ist letztlich genauso wie bei Stackoverflow: Jemand fragt, warum irgendwas nicht geht, ohne irgendwelche Details zu liefern.
Das Ergebnis davon: Die Frage wird einfach ignoriert, downvoted und geschlossen. Das würde ich mir häufig hier auch wünschen.
Wenn jemand hier einfach nur trollt wie @Alex_Wa , dann reagiere ich entweder genervt oder gar nicht. :)
Das war auch mein Gedanke als ich das gelesen habe. Die Mechaniken von SO sind schon super - Das wäre evtl. noch eine Idee für ein Userscript - die Möglichkeit, dass Leute einen Thread up/down voten können und man kann dann noch filtern, wessen votes einen interessieren. Braucht man nur noch eine Stelle, wo man dies ablegen kann. Aber einen kleinen REST Service kann man ja irgendwo hosten :)

@Robert Zenz Wäre das nicht eine Idee?
 

Alex_Wa

Mitglied
Das hat doch nichts mit Eclipse zu tun... dein Service läuft doch auf einem Host und dort wird er doch auch irgendwie gestartet.
Oder versteh ich hier alles komplett falsch? Also: Du hast einen Java Service, der auf einem Server/Host/VM/whatever läuft.
Und die Frage ist jetzt: Wie wird dein Service auf dem Server genau gestartet? Ja nicht über Eclipse...
Der einzige der hier trollt warst du mit dieser Nachricht. Meine Nachricht, auf die DU reagiert hast, war als Antwort für @Oneixee5 gedacht und nicht auf deinde.
 

Alex_Wa

Mitglied
Also irgendwie fehlt mir hier jedes Verständnis. Du hast ein Problem - zu dem Du uns extrem viele Informationen vorenthältst. Fragen nach Details werden nicht oder nur unzureichend beantwortet. Und dann sind wie (oder zumindest httpdigest) negativ eingestellte Menschen?

Also gib endlich einfach mal Details! Und dass es ein Mikroservice sein soll hast Du nun oft genug geschrieben - das immer zu wiederholen gibt uns keine weiteren Informationen, die uns helfen könnten, dir zu helfen.

Ansonsten: Mal irgend etwas analysiert? Performance-Messungen könnte man machen. Was dauert denn wie lange? Zum Testing und Monitoring von Microservices gibt es übrigens auch viel Dokumentation. (Vielleicht will dir httpdigest ja paar Bücher nennen :) SCNR) Aber zur Not reichen ggf. auch einfache Logfiles die man schreiben könnte ...

Wenn es aber auf einem Windows System läuft, auf das du vollen Zugriff hast, dann hast Du da doch eh die vollen Möglichkeiten. (Und sei es nur ein Blick in den Taskmanager (Wobei Windows extrem viele, gute Performance Monitoring Möglichkeiten bietet).


Das alleine wäre einmal auszuführen. Was nutzt ihr denn, um da dann den Windows Service zu haben? Ist es einfach nur ein Wrapper wie bei Tomcat? Was startet die CMD Datei? Admin Profil meint ein Maven Profile? Dann könnte Details da auch schon interessant sein um zu sehen, was da wie auf den Server deployed wird.
Weder local noch auf dem Server gibt es hier irgdnwelche Einbüsen der Performance. Das habe ich aber bereits weiter oben beantwortet da die Frage bereits von @Oneixee5 gestellt wurde.
 

KonradN

Super-Moderator
Mitarbeiter
Weder local noch auf dem Server gibt es hier irgdnwelche Einbüsen der Performance. Das habe ich aber bereits weiter oben beantwortet da die Frage bereits von @Oneixee5 gestellt wurde.
Moment - wir reden aber doch über Performance Probleme:
So, jetzt habe ich den ganzen Service zunächst local getestet. Dieser läuft auch innerhalb von ~2 Min. sauber durch.
Sobald ich aber das ganze auf dem Server und in meiner WepApp laufen lasse, dauert das Ganze 12 Minuten - anstatt, wie local, nur 2 Minuten.

Das ist doch das Kernproblem - und da muss man halt schauen, was auf dem Server jetzt so lange dauert. Das kann viele Ursachen haben und darauf zielten viele Fragen hin:
  • Wenn da z.B. viel parallel passiert, dann wäre denkbar, dass lokal halt ein Multi-Core am Werk ist mit z.B. 8 Kernen und dann auf dem Server nur eine vCPU zur Verfügung steht.
  • Wenn der Server einen hohen Speicherdruck hat, dann wird er auch relativ langsam. Darauf zielten diverse Nachfragen und Hinweise (u.a. von @Oneixee5)

Und nein - du hast da eben nicht wirklich Antworten gegeben. Zumindest finde ich keine Einstellungen des Services. Mag durchaus sein, dass alle Services gut Speicher zugeordnet bekommen haben und dieser eine nicht. Dann "performen" die anderen und nur eben dieser eine nicht.

Und bei vielen Aussagen kann man kaum etwas ableiten. Beispiel:
Also, der Service liest zunächst eine CSV- und mehrere Excel-Dateien ein und speichert diese in zwei Model-Klassen (Getter/Setter). Das funktioniert ohne Probleme. Anschließend wird in der Service-Klasse auf diese Klassen zugegriffen und eine finale Excel erstellt. Zunächst der Header und anschließend mit 2 For-Schleifen der Inhalt der Dateien. Dabei wird der Inhalt der Excel erst nach einer bestimmten Bedingung geschrieben. Am Ende werden die eingelesenen Dateien nur noch in einen anderen Ordner verschoben. Was auch ohne Verzögerung passiert.
Wie sieht das Timing also genau aus? Alles läuft schnell durch (in 2 Minuten oder so) und dann hat man am Ende die fertigen Dateien verschoben und dann dauert es 10 Minuten? Für was?

Was ich nur ausdrücken will: Das ist keine wirklich brauchbare Analyse. Wenn etwas zu langsam läuft, dann muss man analysieren, wo die Zeit verloren geht. Was dauert auf dem Server zu lange? Wenn ich das letzte Zitat betrachte, dann hört es sich danach an, dass da alles super läuft. Du musst aber doch schauen, wo die Zeit bleibt. Wo geht zu viel Zeit für irgend etwas drauf?

Oder wenigstens das genaue Verhalten: Was hast Du wie gemessen, was zu lange dauert?

Wir können nur helfen, wenn wir Details bekommen. Ohne Details kann man maximal wild raten.

Und in einem Thread zu einem Performance Problem dann zu hören, dass es kein solches gibt ist auch eher irritierend.
 

LimDul

Top Contributor
Noch mal ein paar Erklärungen zu meinen Fragen. Ich hab die Antwort (sorry) missverstanden ob es lokal und remote gleich ist, das ist der Nachteil wenn man mal eben zwischen zwei Meetings antwortet.

Grundsätzlich würde ich dann - wie hier schon mehrfach drauf hingewiesen - den Ram stark vermuten.

700.000 Zellen. Ich weiß nicht wie viel Byte eine Zelle mit dem ganzen POI Zeug drum rum einnimmt, wie sehr die eingelesen Listen im Speicher gehalten werden.

Aber bei 100 Byte pro Zelle sind 70 Megabyte, bei 1000 Byte pro Zelle sind es 700 Megabyte die das braucht. Da wir hier von Mirco-Services reden, will ich nicht ausschließen, dass die mit sehr geringer Ram/Cpu hochgefahren werden.

Das heißt, essentiell ist es CPU & Speicher Auslastung zu monitoren.

Generell gilt bei Performance-Problemen: Monitoren, Profilen, Monitoren & Profilen.

Monitoring liefert oft erste Indizien, denen man dann mit dem Profiling auf den Grund gehen kann. Wenn es lokal wie hier nicht nachstellbar ist, ist das Profiling halt was aufwendiger, aber nicht unmöglich.
 

Robert Zenz

Top Contributor
Das war auch mein Gedanke als ich das gelesen habe. Die Mechaniken von SO sind schon super - Das wäre evtl. noch eine Idee für ein Userscript - die Möglichkeit, dass Leute einen Thread up/down voten können und man kann dann noch filtern, wessen votes einen interessieren. Braucht man nur noch eine Stelle, wo man dies ablegen kann. Aber einen kleinen REST Service kann man ja irgendwo hosten :)

@Robert Zenz Wäre das nicht eine Idee?

Ja, muesste sogar relativ einfach gehen. Die Frage ist nur wen man die Datenbank andreht und wie man das absichert.
 

KonradN

Super-Moderator
Mitarbeiter
Wobei da die Einstellungen ebenso wichtig sind. ein Server mit 256GB oder mehr Speicher sagt nichts aus, wenn beim Start der für Java nutzbare Speicher begrenzt wird.

Sprich:
Wie sind die Praramter für -Xms, -Xmx und -XX in den jeweiligen Umgebungen eingestellt, also lokal/Server. @see: https://www.baeldung.com/jvm-parameters
Wobei das auf dem Server ggf. in der Installation zu finden ist (das erwähnte cmd Script) oder - wenn man weiss, wie der Windows Service aufgebaut wurde - man schaut sich das Resultat an (ggf. sind die sogar in der Registry gelandet unter HKLM/System/CurrentControlSet/Services/.... - das hängt aber vom verwendeten Wrapper ab. Aber da könnte man sich auch problemlos heran tasten. Egal ob über die Installation oder von der anderen Seite über die Build / Deploy Konfiguration). Und weil mit die Formulierung von @httpdigest gut gefällt:
Jupp. Genau deswegen auch meine Frage
:)
 

Alex_Wa

Mitglied
Moment - wir reden aber doch über Performance Probleme:


Das ist doch das Kernproblem - und da muss man halt schauen, was auf dem Server jetzt so lange dauert. Das kann viele Ursachen haben und darauf zielten viele Fragen hin:
  • Wenn da z.B. viel parallel passiert, dann wäre denkbar, dass lokal halt ein Multi-Core am Werk ist mit z.B. 8 Kernen und dann auf dem Server nur eine vCPU zur Verfügung steht.
  • Wenn der Server einen hohen Speicherdruck hat, dann wird er auch relativ langsam. Darauf zielten diverse Nachfragen und Hinweise (u.a. von @Oneixee5)

Und nein - du hast da eben nicht wirklich Antworten gegeben. Zumindest finde ich keine Einstellungen des Services. Mag durchaus sein, dass alle Services gut Speicher zugeordnet bekommen haben und dieser eine nicht. Dann "performen" die anderen und nur eben dieser eine nicht.

Und bei vielen Aussagen kann man kaum etwas ableiten. Beispiel:

Wie sieht das Timing also genau aus? Alles läuft schnell durch (in 2 Minuten oder so) und dann hat man am Ende die fertigen Dateien verschoben und dann dauert es 10 Minuten? Für was?

Was ich nur ausdrücken will: Das ist keine wirklich brauchbare Analyse. Wenn etwas zu langsam läuft, dann muss man analysieren, wo die Zeit verloren geht. Was dauert auf dem Server zu lange? Wenn ich das letzte Zitat betrachte, dann hört es sich danach an, dass da alles super läuft. Du musst aber doch schauen, wo die Zeit bleibt. Wo geht zu viel Zeit für irgend etwas drauf?

Oder wenigstens das genaue Verhalten: Was hast Du wie gemessen, was zu lange dauert?

Wir können nur helfen, wenn wir Details bekommen. Ohne Details kann man maximal wild raten.

Und in einem Thread zu einem Performance Problem dann zu hören, dass es kein solches gibt ist auch eher irritierend.
Das Einlesen und Verschieben passiert ohne Probleme. Die Perforamce lässt nach 100 geschrieben Zeilen nach. Das heißt, 100 Zeilen werden innerhalb einer Sek. geschrieben danach nur 5 oder 4. Die RAM sowie CPU ist mit max. 45% bzw 66% Auslastung auf dem Server am laufen, wenn ich den Service über den Browser starte. Also liegt das Problem hier beim Schreiben. Weder beim Einlesen noch beim Speichern oder Verschieben. Für das Schreiben wird auch eine SXSSF-Klasse verwendet.
 

LimDul

Top Contributor
Die Daten reichen nicht. Auslastung des Ram auf dem Server ist wichtig - aber wenn der Java VM nur 45% des Server Rams zugestanden ist, dann ist die VM am Limit.

Das heißt, ohne die VM Parameter (die übrigens auch schon angefragt wurden) ist diese Aussage ohne größeren Wert
 

Alex_Wa

Mitglied
Ich habe an den Parametern nie gedreht. Weiß auch gar nicht, um ehrlich zu sein, wo diese zu finden sind. Aber in Eclipse steht: Heap size max: 2048M.
 

LimDul

Top Contributor
Eclipse ist da völlig irrelevant. Wichtig ist, wie die Java VM auf den Server gestartet wird. Wenn das nicht definiert ist, dann sollte man da ganz dringend ran - von jemanden, der weiß was er tut.
 

Alex_Wa

Mitglied
Die Java VM wurde mit 100% Sicherheit richtig konfiguriert, definiert und wie auch immer. Sonst hätte ich das Problem bereits Dutzende Male gehabt. Ist nicht mein einziger Service der über 200 Spalten und 3000 Zeilen in eine Excel schreibt. Deswegen wird das Problem nicht bei der Java Vm liegen.
 

httpdigest

Top Contributor
Ich habe mir gerade nochmal den Thread von Anfang bis Ende angeguckt und es ist doch erstaunlich, wie du es schaffst, keine einzige von uns gestellte Frage wirklich zu beantworten. Meist kommen nur Antworten wie: "Das weiß ich nicht. Da müsste ich gucken" und "Das ist sicherlich nicht das Problem" und "Es gibt gar kein Problem" und "In Eclipse ist das so und so konfiguriert".

Ich würde dich bitten, einfach nochmal unsere Antworten durchzugehen, die entsprechend dort gestellten Fragen zu sammeln und einfach mal zu beantworten, statt selbst Annahmen darüber zu treffen, wo das Problem vermutlich sein könnte.
Angeblich ja mit 100%iger Sicherheit.
 

LimDul

Top Contributor
Was bei Performance-Problemen generell wichtig ist - alles hinterfragen und prüfen. "Daran kann es nicht liegen" ist dabei kontraproduktiv, sondern muss geprüft werden. Vielleicht sind die anderen Programme besser programmiert, dass da der Speicher besser genutzt wird. Daher muss man es prüfen. Und zwar von jemanden, der auch Ahnung hat was Heap-Size etc. bedeutet.
 

KonradN

Super-Moderator
Mitarbeiter
Also wenn man alles, was nicht die Ursache ist, weg streicht, dann ist das, was übrig bleibt, natürlich die Lösung. Unabhängig wie unwahrscheinlich diese ist!

Daher meine Lösungsidee:
Da es ja auf dem Server kein Performance Problemgibt, dann liegt das Problem an der Zeitmessung. Der TE ist bei den Messungen zu aufgeregt, bewegt sich mit Geschwindigkeiten nahe Lichtgeschwindigkeit. Dadurch erscheinen die 2min, die der Server braucht, ihm natürlich wir 12 Minuten.

Wer das genauer will: ich kann euch gerne Physik Bücher nennen - dann könnt ihr auch eine Annäherung zu der Geschwindigkeit ermitteln. Und auch besonders interessant: Wenn man eine Masse von 75Kg bei einem Erwachsenen annimmt, dann kann man die Energie berechnen, die er aufbringen musste. Halte ich für wichtig, damit er nicht verhungert ... da müssen viele Kalorien zugeführt werden!

Ansonsten bin ich erst mal wieder weg ... hab den Clown noch nicht aufgegessen, den ich zum Frühstück hatte.
 

Oben