2010-12-06 3 views
1

Wir betreiben unseren Blog von einem Shared Hosting Account. Unser Gastgeber begrenzt die zulässigen Inodes/Anzahl der Dateien auf dem Hosting-Account auf 150.000. Wir haben unseren Caching-Mechanismus implementiert, der alle Seiten vollständig speichert, sobald sie aufgerufen werden, so dass nachfolgende Suchvorgänge aus dem Cache ausgeführt werden. Leider erlaubt uns das Inode-Limit nicht, sehr bald weitere Seiten zu speichern.SQLite als Cache-Speicher zum Speichern statischer Kopien dynamischer Seiten - Ist das eine gute Idee?

Zum Glück haben wir SQLite auf unserem Server. Obwohl wir auch mysql haben, erlaubt unser Shared Hosting-Account nur maximal 25 gleichzeitige Verbindungen vom Apache-Webserver zum mysql-Server. Das ist eine große Einschränkung! Es wird gesagt, dass SQLite "serverless" ist, und so glaube ich, dass sqlite diese Art von Beschränkung nicht haben wird.

Mit diesem sollte ich und kann ich eine sqlite-Tabelle verwenden, um vollständige Cache-Seiten aller dynamischen Seiten unseres Blogs zu speichern? Die durchschnittliche Größe der zwischengespeicherten Seite beträgt ungefähr 125 KB und ich habe ungefähr 125.000 Cache-Seiten und wächst.

Wird es irgendwelche Engpässe geben, die die Lieferung der Cacheseite aus der SQLite-Datenbankdatei verlangsamen?

Kann ich mehr Seiten in die cache_table in der sqlite-Datenbank schreiben, während gleichzeitig gesuchte Seiten aus der cache_table an die Besucher der Site gesendet werden?

Antwort

0

Es ist keine gute Idee, weil die Verwendung von sqlite die Leistung Ihrer Website beeinträchtigen kann (zumindest bei der Antwortzeit). Ich empfehle, Memcached oder NoSQL DB als letztes Mittel zu verwenden (muss für Antwortzeitanstieg prüfen).

Aber wenn Sie nicht wählen, wird Sqlite besser als MySQL sein, weil die Auswahlvorgänge schneller sind.

+0

Hallo Lex, vielen Dank für Ihre hilfreiche Antwort. –

+0

Leider bietet unser Host kein memcached an, da sie suphp verwenden, um jeden php-Ressourcenaufruf als separaten Prozess auszuführen ... Was würden Sie über die Verwendung von mysql als nosql sagen? –

+0

Wie lange beträgt die maximale Seitengenerierungszeit einschließlich der Abfrage nach MySQL? Wie viele Anfragen pro Sekunde (maximal) an Ihre Website? – Lex

0

Haben Sie das nicht berechnet, weil es nie nötig war, die maximale Seitengenerierungszeit zu berechnen. Ich verwalte alle Seiten statisch vollständig und damit war es immer ein stabiler Prozess ohne Probleme.

Unsere Serverlast variiert von 400 bis 8000 Seitenanforderungen in einer Stunde.

Verwandte Themen