PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Optimierung der Speichernutzung von Plugins


chatpalace24
12.08.2007, 13:01
Das Plugin System arbeitet nach folgendem Prinzip :
Es läd alle Plugins in den Speicher um einen schnelleren Zugriff darauf zu gewährleisten.

Problem an der Sache ist : Es läd immer "alle" Plugins in den Speicher, dabei ist es egal ob diese grad benötigt werden, oder diese nur selten genutzt werden.

Einige Plugins haben eine Menge Quellcode , dieser wir also quasi gecached. Je mehr Plugins desto mehr Speicher wird auch verbraucht.

Ein einfacher Weg um das Problem zu umgehen ist den Code einfach auszulagern aus dem Plugin.

Das heißt das der Code nur dann geladen wird, wenn er auch wirklich benötigt wird.

Hier ein kleines Beispiel womit wir das ganze einmal veranschaulichen :

CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Dieser Code steht nun in einem Plugin. Er wird relativ selten genutzt, aber dennoch verbraucht er dauerhaft Speicher, da er sozusagen gecached wird.

Einfachste Methode um das zu umgehen :
Man legt eine Datei an, die dem Plugins namentlich gleicht (gilt nur zur besseren Übersicht).

Diese Datei nenen wir mal testplugin.php
Dort hinein kommt nun :

CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Diese laden wir auf unseren Webspace in den Ordner /plugins den wir zuvor anlegen.

Nun bearbeiten wir das Plugin :
Dort ersetzen wir den Quellcode mit folgendem :

CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------

Diese Möglichkeit verbraucht natürlich weniger Speicher, da der Code des Plugins wesentlich geringer ist, und die Quellcode aus unesem testplugin auch erst dann geladen wird und verarbeitet wird wenn dieser benötigt wird.

So das wars erstmal. Bei Fragen und/oder Anregungen stehen wir Euch natürlich zur Verfügung.