php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.05.2007, 15:48  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 476
Plague
Standard Asyncrone PHP abarbeitung

Hallo,

ist es möglich einen PHP-Code so abzuarbeiten, dass er nicht in die Ladezeit einer Seite fällt. Also praktisch asyncron?
Ich habe auf mehreren Seiten eine kleine Statistikfunktion, bei denen ich eine Datenbank mit relativ statischen Daten befülle. Nun würde sich die seite ja sicher schneller öffnen wenn der HTML-Code früher abgesendet werden würde und zur not erst danach der Datenbankeintrag erfolgt.
Geht das?

Ich rede jetzt nicht von AJAX! Das soll schon serverseitig passieren!

Gruß
Thomas
Plague ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.05.2007, 15:54  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo, schau dir mal an, ob pcntl_*() etwas für dich ist.
http://de.php.net/manual/de/ref.pcntl.php

Mit pcntl_fork() kannst du einen Kind-Prozess abspalten.
Damit kannst du dir einen Daemon schreiben, dessen Verarbeitung im Hintergrund abläuft. Habe ich jetzt selber aber noch keine Erfahrungen mit gemacht.

Vielleicht ist ja aber bereits schon flush() etwas für dich.

Oder aber du koppelst die Berechnung von der Darstellung ab, in dem du die Berechnungen über einen Cronjob erledigen läßt und die Darstellung dann nurnoch auf die Ergebnisse zugreifen muss (so löse ich rechenlastige Aufgaben meist).
Zergling-new ist offline  
Alt 10.05.2007, 15:58  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 476
Plague
Standard

Das sind wie gesagt nur viele kleine Sachen wie z.B. Datenbankbefüllung. Da funktioniert kein Cronjob. Da muss z.B. die IP Adresse des Besuchers gespeichert werden.

Aber die anderen zwei Funktionen schaue ich mir mal an. Danke!
Plague ist offline  
Alt 10.05.2007, 16:01  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wenns nur kleine Sachen sind, wozu dann asynchron?
Zergling-new ist offline  
Alt 10.05.2007, 16:05  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 476
Plague
Standard

Weil es eben viele kleine Sachen sind...
Plague ist offline  
Alt 10.05.2007, 16:15  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Na gut musst du wissen
Zergling-new ist offline  
Alt 10.05.2007, 16:19  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 476
Plague
Standard

genau
Ich schaue einfach mal ob sich das lohnt...
Plague ist offline  
Alt 10.05.2007, 16:33  
Erfahrener Benutzer
 
Registriert seit: 21.07.2005
Beiträge: 209
pepe24
Standard

Hallo Plague,

empfehlenswert bei solchen "weniger wichtigen", hintergründigen Datenbankeinträgen, wie z.B. Eintragung von Besucherstatistiken in eine Datenbank, ist der "INSERT LOW PRIORITY..." respektive des "REPLACE DELAYED" SQL-Befehls, die die Datenbank bei hoher Thread-Last entlasten. Bei PHP würde ich bei sowas meist nicht ansetzen, weil der "Flaschenhals" meistens bei SQL entsteht.

Gruß,
Peter
pepe24 ist offline  
Alt 10.05.2007, 17:05  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Auch bei vielen kleinen Sachen wird es sich kaum rentieren ^^
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php abarbeitung code, php code abarbeitung, php prozess abspalten

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.