Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Apache2 - langsamer Seitenaufbau

Frage Entwicklung Webentwicklung

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

20.02.2015 um 10:20 Uhr, 1094 Aufrufe, 17 Kommentare

Hallo,

ich habe vor einiger Zeit schon mal zu dem Thema geschrieben (http://www.administrator.de/frage/seitenaufbau-beschleunigen-apache-web ...). Damals lag es an der Datenbank. Das kann ich diesmal aber ausschließen.

Hier mal die Beschreibung von dem alten Thread:

Ich habe einen Apache-Server. Eine Webseite (Übersichtsseite) zeigt eine Übersicht diverser Informationen an. Für die Darstellung der Informationen wurde eine HTML erstellt (Informationsseite), die in Abhängigkeit von den empfangenen URL-Parametern die jeweiligen Informationen anzeigen. Der Aufbau dieser Informationsseiten ist ziemlich schlicht. In einem übergeordneten DIV befinden sich 4 weitere DIVs, mit denen die Informationen positioniert werden. Insgesamt befinden sich auf der Übersichtsseite rund 80 Objects, in welchen die jeweiligen Informationsseiten geladen werden. Das funktioniert alles soweit.


Wie gesagt, damals war die Datenbank die Bremse. Das kann ich nun aber ausschließen.

Zum Testen habe ich dem gesamten AJAX-Teil in den Informationsseiten auskommentiert. Das heisst, beim Laden der Seiten wird lediglich ein GET-Parameter ausgelesen und dieser in ein DIV geschrieben (mit Javascript).

Das Laden der Seite benötigt aber trotzdem bis zu 6 Sekunden... (obwohl keine Daten von der Datenbank geholt werden).

Hat jemand einen Tipp für mich?
Mitglied: B.Nutzer
20.02.2015 um 10:26 Uhr
Hast Du einen Link?
Bitte warten ..
Mitglied: mabue88
20.02.2015 um 10:30 Uhr
Hallo B.Nutzer,

hab vergessen zu schreiben, dass die Webseite nicht im Netz liegt, sondern nur im Intranet verfügbar ist...
Bitte warten ..
Mitglied: wiesi200
20.02.2015 um 10:30 Uhr
Hallo,

der Tipp ist der gleiche wie beim letzten Mal.
Mit deinen Informationen kann man dir leider keine Vernünftigen Ratschläge geben. Das muss man genau analysieren was so lange braucht.
Alles andere ist nur Rätselraten und nicht Produktiv.
Bitte warten ..
Mitglied: mabue88
20.02.2015 um 10:47 Uhr
Hallo wiesi200,

kannst du mir einen Hinweis geben, wie ich so eine Analyse angehe?

Danke
Bitte warten ..
Mitglied: wiesi200
20.02.2015 um 10:52 Uhr
Drück mal bei IE oder Firefox die Taste F12 und Messe die Reaktionsfähigkeit der Benutzeroberfläche bzw mach ne Laufzeitanalyse.

Dann siehst du eigentlich genau was wie lange braucht.
Bitte warten ..
Mitglied: EinsteinJunior
20.02.2015 um 10:54 Uhr
Hallo,

vielleicht erst mal mit Tools wie Fiddler auf der Clientseite schauen und dann mal auf dem Apache Server die Auslastung, Netzwerkdurchsatz, ...
Evtl. befindet sich dein Problem auch im OSI-Modell weiter unten, sprich Kabel, Switch, ...

Gruß
Marko
Bitte warten ..
Mitglied: mabue88
20.02.2015, aktualisiert um 11:24 Uhr
Ich habe das mal für die Informationsseite alleine gemacht. Hier das Ergebnis: http://www.directupload.net/file/d/3904/jk5nouc2_png.htm

Auf der Übersichtsseite wird diese Informationsseite rund 80 mal mit unterschiedlichen Parametern geladen.

Hast du Erfahrungen bezüglich den Zeiten?
Bitte warten ..
Mitglied: EinsteinJunior
20.02.2015 um 11:35 Uhr
Verstehe ich das richtig. 80mal die 134ms? 40% nimmt ja schon Scripting (JavaScript?) ein. JavaScript läuft aber auf dem Client ab und nicht am Webserver.
Sind das so aufwendige Scripts?

VG Marko
Bitte warten ..
Mitglied: mabue88
20.02.2015, aktualisiert um 11:40 Uhr
Meiner Meinung nach sind die Scripts nicht wirklich aufwändig:

01.
function init(){ 
02.
	var info = GetInfoVonParameter(); 
03.
 
04.
	if(info == null) 
05.
06.
		alert("Keine Info empfangen!"); 
07.
		return; 
08.
09.
 
10.
	SetInfo(info); 
11.
12.
 
13.
function SetInfo(new_info){ 
14.
	document.getElementById("info_text").innerHTML = new_info; 
15.
16.
 
17.
function GetParameter(){ 
18.
	var query = window.location.search.substring(1); 
19.
	query = unescape(query); 
20.
	return query.split("&"); 
21.
22.
 
23.
function GetInfoVonParameter(){ 
24.
	var parameters = GetParameter(); 
25.
 
26.
	for (var i = 0 ; i < parameters.length ; i++) { 
27.
		var pair = parameters[i].split("="); 
28.
		if (pair[0] == "rufname") { 
29.
			return pair[1]; 
30.
31.
32.
 
33.
	return null; 
34.
}
Bitte warten ..
Mitglied: EinsteinJunior
23.02.2015 um 07:43 Uhr
Das Script ist nicht wirklich aufwendig.
Welche Leistungsdaten hat der Server? Hast du dir schon mal die Auslastung des Server angeschaut?

VG Marko
Bitte warten ..
Mitglied: Cthluhu
23.02.2015 um 11:05 Uhr
Hallo,
Zitat von mabue88:
Hat jemand einen Tipp für mich?

Check mal die DNS Einstellungen. Wenns da timeouts hagelt kann auch ein einfacher Seitenaufbau schon ma länger dauern.

mfg

Cthluhu
Bitte warten ..
Mitglied: mabue88
23.02.2015 um 14:05 Uhr
Als Server wird eine virtuelle Maschine verwendet. Hier mal die Daten, die ich aus dem OS habe (Basisdaten über den Computer):
- Windows 7 64Bit
- Intel Xeon CPU E5-2650 v2 @ 2.60GHz 2.60GHz
- 2 GB RAM

Die Maschine hat durchweg eine CPU-Auslastung zwischen 20 und 30% und eine RAM-Auslastung von ca. 60%. (Daten stammen aus dem Taskmanager)


Ich habe nochmal eine Frage zu dem Bild, das ich vor einigen Post zur Verfügung gestellt habe. Darauf ist im Kuchendiagramm das recht große gelbe Stück mit der Bezeichnung "Scripting" zu sehen. Bezieht sich dieses Scripting auf die Scripts, die auf dem Client ablaufen, oder auch die Scripts, die auf dem Server ablaufen?

Danke
Bitte warten ..
Mitglied: EinsteinJunior
23.02.2015 um 14:12 Uhr
Zitat von mabue88:
....
Ich habe nochmal eine Frage zu dem Bild, das ich vor einigen Post zur Verfügung gestellt habe. Darauf ist im Kuchendiagramm
das recht große gelbe Stück mit der Bezeichnung "Scripting" zu sehen. Bezieht sich dieses Scripting auf die
Scripts, die auf dem Client ablaufen, oder auch die Scripts, die auf dem Server ablaufen?

Danke

... auf dem Client.

VG
Bitte warten ..
Mitglied: mabue88
23.02.2015 um 20:43 Uhr
Verstehe ich das richtig, dass somit rund 40% der Zeit für das Ausführen von Scripts auf dem Client benötigt werden?
Bitte warten ..
Mitglied: EinsteinJunior
24.02.2015 um 07:24 Uhr
Deshalb ja meine Frage, ob das aufwendige Scripts sind. Verwendest du irgendwelche Frameworks (jQuery, ...)?

VG Marko
Bitte warten ..
Mitglied: wiesi200
24.02.2015 um 07:59 Uhr
Jap, genau so ist es.
Bitte warten ..
Mitglied: mabue88
02.03.2015 um 13:48 Uhr
Ich habe jetzt eine Lösung, die zumindest augenscheinlich deutlich schneller ist.

Bislang habe ich jeder Informationsseite per Parameter die Informationen gegeben, welche Daten sie aus der Datenbank holen soll. Der Parameter wurde von der Übersichtsseite beim Aufrufen der Informationsseite entsprechend übergeben.
Das habe ich nun abgeändert.
Jetzt lädt die Übersichtsseite alle Informationen, die für die auf der Seite dargestellten Informationsseiten benötigt werden. Diese Daten werden gefiltert. Alle Daten, die in den Informationsseiten benötigt werden, werden nun von der Übersichtsseite per GET-Parameter übergeben.

Pro Browserfenster, das die Übersichtsseite anzeigt, wird nun nur noch eine Verbindung zur Datenbank aufgebaut, und nicht ca. 80 wie vorher (als jede Informationsseite eine eigene Verbindung zur Datenbank aufbaute). Zudem habe ich den Datenaustausch zwischen Javascript und PHP (Ajax) nach der Comet-Methode abgeändert.
Von PHP wird somit nur dann auf einen AJAX-Request geantwortet, wenn in der Datenbank tatsächlich aktualisierte Daten vorliegen.
Der Vollständigkeit wegen erwähne ich noch die Ausnahme! Erkennt das PHP-Skript innerhalb von 30 Sekunden keine aktualisierten Daten in der Datenbank, werden die "alten" Daten vom PHP-Skript an Javascript zurückgegeben. Javascript erkennt dann aber, dass es sich um die gleichen Daten wie bei dem vorherigen Request handelt und führt entsprechend keine Aktualisierung durch.

Empfängt Javascript innerhalb von 60 Sekunden, nachdem ein Request gestartet wurde keine Daten, so geht es davon aus, dass die Verbindung zum PHP-Skript unterbrochen wurde und startet einen neuen Request.


Seit dieser Umstellung läuft die Seite deutlich schneller und hatte bislang auch noch keine Fehlfunktion.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Apache Server
Anzeige der falschen Website Apache2 vHotsts (3)

Frage von m.reeger zum Thema Apache Server ...

Apache Server
gelöst Ubuntu und Apache2 - zwei Webanwendungen auf einem Server (4)

Frage von Yannosch zum Thema Apache Server ...

Router & Routing
Unitymedia über FritzBox langsamer (11)

Frage von rock123 zum Thema Router & Routing ...

Apache Server
gelöst Apache2 startet aufgrund von Zugriffsverweigerung bei Logs nicht (8)

Frage von traller zum Thema Apache Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...