Ladezeiten: Probleme mit Fehlersuche

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ladezeiten: Probleme mit Fehlersuche

    Hallo,

    ich habe folgendes:

    - PHP gibt Daten aus der Datenbank in XML zurück.
    - html Datei holt sie sich via AJAX und macht was mit dem Inhalt.

    Standard also.

    So. Das dauert manchmal ewig. Mir fehlt aber Knowhow, um das Problem einzugrenzen.
    Fakten:
    1. Beim Aufrufen des reinen PHP skriptes (also nicht durch das JS), habe ich ebenfalls teilweise lange Ladezeiten (2-3 sec).
    Allerdings habe ich zum einen den Eindruck, dass nachdem die Datei einmal geladen wurde, die Ladezeiten gegen 0 gehen. Da spricht dafür, dass diese XML datei irgendwo gecached wird. deshalb habe ich das PHP script einfach mal umbenannt. Bei diesem habe ich aber ebenfalls das Problem der lange Ladezeiten manchmal beobachtet. Was nicht für ein caching spricht.

    habe die Ladezeiten in gemessen: PHPs microtime sagt 0,008sec im Schnitt. Das ist für mich okay. Komisch: Seit dem ich mir die zeit ausgeben lassen, ist der Fehler nicht mehr aufgetreten (Zumindest bei dem reinen PHP script).

    2. Beim aufrufen der XML datei via AJAX werden teilweise vom ersten request.open bis zum 200er status an die 10sec benötigt. Das ist zuviel. Woran kann das liegen.

    3. Weitere Fehlerquelle könnte schlicht der Server an sich und seine Antwortzeiten sein. Wie kann ich das testen?

    4. sollte ich JSON statt XML verwenden?


    Wie sollte ich vorgehen um Fehlerquellen auszuschließen? Was kann ich generell tun um die Performance zu erhöhen?

    Grüße,

    EHW
  • Allerdings habe ich zum einen den Eindruck, dass nachdem die Datei einmal geladen wurde, die Ladezeiten gegen 0 gehen. Da spricht dafür, dass diese XML datei irgendwo gecached wird

    Ich hoffe, du hast den Browser-Cache als Ursache dabei ausgeschlossen?

    4. sollte ich JSON statt XML verwenden?

    Wenn du keinen spezifischen Grund für XML hast: ja.
    Allerdings sieht es aus, als läge das Hauptproblem hier eher woanders.

    habe die Ladezeiten in gemessen: PHPs microtime sagt 0,008sec im Schnitt. Das ist für mich okay. Komisch: Seit dem ich mir die zeit ausgeben lassen, ist der Fehler nicht mehr aufgetreten (Zumindest bei dem reinen PHP script).

    Das ist natürlich ungünstig. Nicht reproduzierbare Fehler sind immer schwer zu finden.

    Ich würde an deiner Stelle mal den Netzwerkverkehr mit Wireshark mitschneiden, dann siehst du hoffentlich, an welchen Stellen die Wartezeiten entstehen. Vorausgesetzt, sie treten wieder auf.
  • Die Datei ist dann ca. 1/4 MB groß im Schnitt. Ich habe mittlerweile identifiziert: Es liegt zum Teil an den Antwortzeiten des Servers.

    Zum einen. Zum anderen, damit einhergehend, hatte ich auf der Subdomain mit dem Webinterface ein Script liegen, dass die Daten des eigentlichen Abfrageskriptes von der anderen Subdomain holt : mittels get_file_contents (!!!). Das heißt AJAX hat eine Verbindung zum Script auf Subdomain A aufgebaut, dieses eine Verbindung zu Subdomain B, dort wurden die Daten von der DB abgefragt und alles zurückgegeben.

    Dazu kommt das Schneckentempo des SQL Servers insg. und dann noch eine riehiesige UNION Abfrage die alleine etwas 0,5 Sekunden benötigt. Das alles zusammen ist natürlich nicht zu ertragen.

    Zu dem UNION-Problem habe ich mittlerweile einen anderen Thread gestartet: easy-coding.de/mysql-grosse-un…nd-performance-t9662.html


    Grüße,

    EHW