Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

include von anderer Site -> sehr langsam

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
chio
PostRank 9
PostRank 9
Beiträge: 1153
Registriert: 01.01.2004, 16:53
Wohnort: wien

Beitrag von chio » 19.11.2006, 17:11

Ja, sagt eh schon alles:
Es wird ein mittelgroßer (15k) html-Block von einer anderen Domain B geladen und mit include auf Site A reingehängt. Problem: das dauert oft 10 Sekunden oder länger. Kann auch sein dass bei Domain A php generell nicht schnell läuft, ich habs nicht probiert.
Auf Domain B kommt die Seite wie der Blitz.

Kann es sein, dass der php-Parser den html-Block nochmal parst? (da gibt es nix, ist nur html) Wenn ja, wie kann ich das verhindern?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


cren
PostRank 6
PostRank 6
Beiträge: 379
Registriert: 04.06.2005, 16:30

Beitrag von cren » 19.11.2006, 18:02

Kannst ja mal mit readfile() statt mit include probieren. Damit wirds nicht nochmal geparst meines Wissens nach. Ob das allerdings wirklcih so nen großen Unterschied macht... am besten ausprobieren :)

chio
PostRank 9
PostRank 9
Beiträge: 1153
Registriert: 01.01.2004, 16:53
Wohnort: wien

Beitrag von chio » 19.11.2006, 18:35

Scheint, dass es eher an chronischer Überlastung des Servers liegt. Heute ist wieder alles flott.

Wie kompliziert wäre eigentlich folgendes:
Die Seite (es ist nur eine bestimmte, die anderen sind statisch) ändert sich nicht dauernd, sondern "nur" täglich oder gelegentlich zwischendurch. Könnte man ein kleines php-Skript nehmen, das die Seite abholt und statisch als html schreibt? Ausgelöst etwa durch den Aufruf der html-Seite, über Javascript oder so? Dann würde zwar jeder die gerade alte Version sehen, aber das wäre verschmerzbar.

everflux
PostRank 8
PostRank 8
Beiträge: 939
Registriert: 01.05.2006, 17:15

Beitrag von everflux » 21.11.2006, 03:20

Ich würde auch in jedem Fall zu caching (so heißt das ;-) ) raten, selbst dann wenn die einzubindende Seite nur 5 Minuten aktuell ist, so sparst Du Dir für die fünf Minuten das ständige neu-laden von einer anderen Maschine.
Weiterhin vermeidest Du damit Probleme wenn mal an der Quelle was hakt - zumindest für die Zeit die du den Cache nutzt bist Du ja völlig unabhängig von der Quelle.
https://everflux.de/ blogging about life, programming, seo and the net

marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 21.11.2006, 09:50

Kann es sein, dass der php-Parser den html-Block nochmal parst?
Nein, da Server A den Code von Server B nicht zu sehen bekommt, sondern nur das fertige Resultat.

Ansonsten ist ein Cachen immer die beste Lösung.

chio
PostRank 9
PostRank 9
Beiträge: 1153
Registriert: 01.01.2004, 16:53
Wohnort: wien

Beitrag von chio » 21.11.2006, 10:12

n'Morgen
Danke für die Antworten. Wie soll das jetzt konkret geschehen.

Leider bin ich nicht recht firm in diesen Sachen - für ein include reicht es gerade.
Wie mache ich den "Trigger"? Auf Webspace A ist gerade mal php erlaubt, CronJobs sicher nicht. Kann a.html - nach dem laden - irgendwie a.php aufrufen?
Und wie kann sich a.php-Seite selbst als a.html speichern?

everflux
PostRank 8
PostRank 8
Beiträge: 939
Registriert: 01.05.2006, 17:15

Beitrag von everflux » 21.11.2006, 12:03

Einfach nach Zeit machen, wenn Du grob abschätzen kannst, wann die Daten aktualisiert werden müssen.

Pseudocode wäre dann sowas wie

wenn_cache-datei_vorhanden UND datei_datum_jünger_als_cachezeitraum
Cache-Datei verwenden
SONST
daten neu vom server holen und in cache datei speichern
https://everflux.de/ blogging about life, programming, seo and the net

Anonymous

Beitrag von Anonymous » 21.11.2006, 12:35

überprüf doch den zeitpunkt des letzten speicherns anhand der datums der datei...

Code: Alles auswählen


if &#40;&#40;filetime &#40; "cachdatei"&#41; +3600&#41; < time&#40;&#41;&#41; 
&#123;

...  hole datei neu, gib daten aus und speicher ab

&#125;
else
&#123;

..cache auslesen und ausgeben

&#125;
wenn der cache älter als 1 Stunde ist wird er neu geladen und gespeichert..

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag