# Apache reagiert unerträglich langsam im Intranet



## nofreak (11. März 2018)

Hallo in die Runde,

mein Apache reagiert auf meinem Entwicklungsserver sehr sehr langsam auf einzelne Requests. 
So 3 bis 10 Sekunden pro Request sind gerade der Stand,

Die gleiche Software auf dem Produktivserver läuft völlig unauffällig.

Was habe ich intern verändert? 
Nun, eine neue Fritz!Box habe ich ausgetauscht.

Was habe ich bisher probiert?
An der FritzBox IPv6 deaktiviert und kontrolliert, ob der Apache bzw. MySQL eventuell an der Namensauflösung hängen.
So ist HostnameLookups Off und bei MySQL ebenfalls skip-name-resolve aktiviert. 

Nur leider keine bessere Reaktion. 

Hat jemand noch Ideen, woran diese schlechte Performance liegen kann?

Lieben Gruß
Frank


----------



## nofreak (18. März 2018)

Hallo,

hat keiner eine Idee, was man noch ausprobieren kann? 

Ich durchwühle schon seit Tagen Google komme aber nicht einen Schritt weiter. 

Fakt ist bisher, dass die Skripte normal schnell durchlaufen (Einträge der Laufzeit ins error_log), aber die einzelnen Request erst zwischen 3 bis 10 Sekunden beim Browser ankommen. Wohlgemerkt intern. 

Firebug meldet auch eine entsprechende Wartezeit .... aber wo verbleibt die Antwort? 

Vielen Dank für jegliche Hinweise.

MfG
Frank


----------



## pilgrims (23. März 2018)

Liegen Produktivserver und Testserver im gleichen Netz? Wegstrecke und -geschwindigkeit bis zu deinem Browser identisch?
Ist der Testserver eine Spiegelung des Produktivsystems (gleiche Konfiguration von Hard-/Software)?


----------



## nofreak (23. März 2018)

Hallo,

nein, überhaupt nicht. 

Der Testserver ist lokal im Netzwerk, der Produktivserver ist online im World Wide Web. Kurz der Testserver steht im Keller, der Produktivserver 800km entfernt ...

Der Testserver ist prinzipiell eine identische Spiegelung, beide Server mit der aktuellsten Version von ISPConfig 3 aufgesetzt. Hardware ist natürlich nicht identisch, wobei die Skript Zeiten nicht das Problem sind, sondern die langen Wartesekunden der einzelnen Anfragen.

Meine Vermutung liegt auch an der neuen Fritz!Box - die alte hatte mit Freetz noch einen kleinen DNS Server für das lokale Netz. Das hat die neue Fritz!Box nicht. Aber die Namensauflösung funktioniert mit der /etc/hosts Datei auch. Aber DNSLookup ist überall wo bekannt abgestellt. 

IPv6 ist auch überall deaktiviert. 

Wie finde ich heraus, wo die Anfrage hängen bleibt?


----------



## Till (23. März 2018)

Hast Du mal mit wget lokal versucht, wie lange der request  dauert wenn Du ihn auf dem server selbst durchführst? Und wie hast Du die Dauer bestimmt, hast Du mal mit FF dev tools die seite geladen und geschaut ob wirklich die haupt url so lange braucht, hatte es schonmal dass es am ende an einem js script lag das nicht richtig lud und das hat nur das rendering aufgehalten, der server war also schenll, es sah aber so aus als ob er zig sekunden zum laden braucht da weiße seite und ladesymbol in fußleiste.


----------



## nofreak (23. März 2018)

Hallo,

wget ist da auch nicht viel besser, wobei das natürlich auch etwas schwerer darzustellen ist, da es sich um einen Bereich handelt, in dem man sich einloggen muss.

Sonst sehe ich das mit Firebug recht deutlich, dass einzelne Anfragen sehr langsam beantwortet werden. Da sind auch keinerlei Fehler wie z.B. nicht erreichbare Skripte. Alle aufgerufene Skripte eben mit langsamen ANtwortzeiten, gerade die Bilder, die ausgeliefert werden. Da fällt das dann auch auf.


----------



## nofreak (22. Juli 2018)

Hallo in die Runde,

ich quäle mich immer noch mit meinem Server herum, der mit den Antwortzeiten einfach nicht besser wird. 

Da ich nur sporadisch immer Zeit habe, kann ich zwar damit leben, aber es nervt doch unendlich, wenn fünf Anfragen mit jeweils 5 bis 10 Sekunden Bearbeitungszeit im lokalen Netzwerk verweilen und online das alles ohne spürbare Verzögerungen geht. 

Meine Vermutung bleibt aber: Es muss an der Namensauflösung im internen Netzwerk liegen, weil mit der neuen Fritzbox ein kleiner Freetz-DNS Server in der alten FritzBox abhanden gekommen ist  - seit dem hatte ich dieses Verhalten (bemerkt)

Nur:
Es muss doch mit ISPConfig möglich sein mit virtuellen Hosts umzugehen ohne einen extra DNS Server im internen Netzwerk aufzubauen... 

Und vor allem: Mir fehlt das Handwerkszeugs, um dem Problem auf die Spur zu kommen. 

Wie prüfe ich, ob die Namensauflösung auf dem Entwicklungsserver korrekt funktioniert? 
Wonach muss ich die Log-Files vom Apache2 durchforsten? (Einstellunge ErrorLog = ???) 

Firebug meldet 5 Anfragen (GET ...) und liefert für jede Antwort zwischen 5 bis 10 Sekunden - wobei das nur die Antwortzeit des Servers ist. 

Einzig was ich feststelle, dass bei Doctrine der Befehl Doctrine::loadModels(); im Skript, welches z.B. für die Auslieferung der Bilder zuständig ist, ca. 1,6 Sekunden braucht, was auch sehr lang ist. Aber warum?

Die virtuelle Machine auf dem Entwicklungsserver habe ich nochmal getunt, d.h. doppelt so viele Resourcen zugeteilt, aber im Endeffekt das gleiche Problem behalten ... 

Vielen Dank für jedwede Tipps und Hilfen ...

Gruß
Frank


----------

