Ingo Turski: php mit txt.datei und abfragen

Beitrag lesen

Hi,

ich stimme Dir weitgehend zu, aber (wie Tom gerne zu Recht ausgeführt hat) mit kleinen Ablaufänderungen:

  • Datei [zuerst] sperren

Du hast natürlich recht, dass eine spätere Sperrung zu Fehlern führt, allerdings wäge ich die Wichtigkeit völlig korrekter Ergebnisse (die es hierbei ja ohnehin nicht geben kann) gegen die bei hoher Frequentierung unschönen Wartezeiten ab - bei niedriger Frequentierung wäre ein gleichzeitiger Zugriff eher selten un die Fehlerquote gering.

Konkret könnte das bei Sperrung zu diesem Zeitpunkt bei heftiger Frequentierung dann nämlich so aussehen:

Anforderung von Client A
Datei wird eingelesen, Array wird sortiert (das kann dauern :-))
Anforderung von Client B

Datei kann nicht eingelesen werden - entweder Abbruch und Nichtzählung oder neue Versuche nach Wartezeit (das kann dauern...)

Anforderung von Client C - der muß auch warten
Client A ist fertig und hebt die Sperrung auf.
Anforderung von Client D - der hat gerade Glück und darf die soeben freigegebehne Datei öffnen.
Client B und C müssen immer noch warten.
Anforderung von Client E
...
Client B bekommt einen Timeout oder das Script gibt den Eintragsversuch auf.
Client C bekommt ...

Fazit: gerade bei einer solchen Aufgabe, deren Ergebnisse nun wirklich nicht exakt sind und auch nicht sein müssen, die aber bei jedem einzelnen Zugriff auf eine Seite bearbeitet werden muß, sollten die Besucher nicht unnötig darunter leiden.

Und exaktere Auswertungen lassen sich hinterher über die Auswertung der Logfiles ohnehin noch machen.

freundliche Grüße
Ingo