Linuchs: Seiten zu langsam - umorientieren auf Objekte ?

Beitrag lesen

Hallo,

es geht um meinen Veranstaltungskalender www.remso.eu - ich brauche ein neues, schnelleres Konzept und denke an Objekte. Erstmal die Beschreibung des Problems, dann weiter unten die Frage.

Problembeschreibung
-------------------
Die Durchlaufzeiten der PHP-Programme werden immer größer. Es liegt vermutlich an den unzähligen parallelen Aufrufen von Bots. Die Startseite dauert mal 0,2, mal 1,0 sec. Es waren mal 0,02 sec. Bei monatlich 20.000 Aufrufen sind das 10.000 sec = 166 min = knapp 3 Std. Nur für eine einzige Seite.

Da muss ich die Reißleine ziehen. Bisher ermiittle ich die Daten auf dieser Seite
* zuletzt eingegebene Events
* heutige Events
* Top 10 Themen
* Top 10 Orte
bei jedem Aufruf frisch aus der Datenbank. Das wäre aber nicht nötig. Die "heutigen Events" etwa sind 24 Std. unverändert. Falls da jemand für heute eine neue Meldung macht, kann das ignoriert werden.

So, nun wie? Ich denke daran, eine CSV-Datei anzulegen mit den heutigen Events. Im Programm kurz fragen, ob die Datei vorhanden und vom heutigen Tag ist. Wenn ja, kein DB-Zugriff, sondern die Datei nehmen. Besser noch als aufbereiteter HTML-Baustein.

Das kann prinzipiell auch für tausend andere Seiten gemacht werden. Da gibt es
* 68 Veranstalter mikt Events,
* 225 Städte mit Events,
* 30 Themen mit Events

jeweils mit diversen Parametern, etwa Datum von bis, Entfernung in km und so weiter.

Bei Google finde ich die schrägsten Kombinationen, die eigentlich nur per manueller Eingabe zustande gekommen sein können. Allein die Suche nach "remso.eu" bremen gibt Ungefähr 1.840 Ergebnisse, "remso.eu" hamburg 5.620.

Zahlreiche Schaumschläger-Seiten kennen remso, die müssen doch auch zugreifen.

Und nein, aufgelaufene vergangene Termine sind das - zumindest bei Google - nicht. Die lösche ich nämlich und melde bei Aufruf header("HTTP/1.0 410 Gone");

Frage
-----
Ich habe bisher keine Objekte. Was genau ist eigentlich ein Objekt? Können die heutigen Termine ein Objekt sein, das ich ins PHP-Programm einbinde? Und wo werden die Daten dieses Objekts gespeichert?

Oder ist es "nur" so, dass ein Objekt mit Programmende stirbt?

Ich weiss auch noch nicht recht, wie ich Bot-Zugriffe und von Menschen verursachte Zugriffe unterscheiden kann. Wenn ein Mensch Brunsbüttel +32 km sehen will, soll er das bekommen. Aber alle Bots haben gefälligst mit dem Standard 20 km zurechtzukommen. Und solche Daten haben auch einige Stunden Gültigkeit.

Klar, ein Mensch, der neue Events eingibt, will die auf den Listen sehen. Die Anzahl der Eingaben pro Tag sind überschaubar von 0 .. 50. Da könnten bei Eingabe ja die Objekte aktualisiert werden.

Linuchs