Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo sind die Grenzen?
Nachdem Merlin mir gestern die Aussage gab und ich ein wenig ins staunen und grübeln geriet...
Soo ...
Ich habe soeben ein vBulletin incl. TMS von 3.6.5 auf 3.6.6 aktualisiert.
Plugins: ca. 450
Produkte: ca. 50
Template-Modifikationen: ca. 120
Zeitdauer (excl. Upload): ca. 5 Minuten
Aufgetretene Probleme: 2 Modifikationen mussten angepasst werden.
frage ich mich: Wo sind bei vB eigentlich die Grenzen? Unter 'Grenzen' meine ich die maximale Anzahl der zu installierenden Produkte, Plugins sowie die Anzahl aller installierten Phrasen. Ich frage mich immer, das doch irgendwann mal schluß mir der Anzahl sein muß, oder?
Ebenso verhält es sich doch auch mit den Phrasen. Ich seh immer wieder, das viele Autoren immer und immer wieder den Phrasentyp 'Global' benutzen, so das mir auch hier manchmal es so vorkommt, das vB doch irgendwann mal damit total überlastet sein muß, oder? Wenn ich mal zum Beispiel unsere Phrasendatei Deutsch (~ 1MB) mir so anschaue, dann ist das ja schon enorm, wie vB das ganze so verwaltet. Ich ertappe mich immer wieder dabei, das ich manchmal mit Installationen irgendwie geize, da ich mir immer sage: Je mehr Hacks installiert sind, desto mehr wird oder kann das Forum langsamer werden. Von neuen Styles mal ganz abgesehn. Ist meine Annahme begründet oder bild ich mir das ganze nur ein?
Wie denkt Ihr darüber? Was meinst Du dazu, Merlin?
Naja, die physikalische Grenze wäre erreicht wenn die plugin-Tabelle so groß wird dass MySQL das nicht mehr abkann.
Aber selbst wenn Du alle verfügbaren Hacks installierst, dürfte diese Grenze noch ewig weit weg sein.
Was hingegen eher zu Buche schlägt ist der Speicherbedarf während der Ausführung. Denn der steigt schnell an.
Mit dem Standard Plugin-System kann es daher recht schnell zu Performanceeinbußen kommen, zumal jedes Plugin per eval() ausgeführt wird - und diese Funktion bekanntermaßen lahm ist.
Phrasen in GLOBAL abzulegen ist eine leider weit verbreitete Unart. Das sollte man soweit als möglich vermeiden.
Was zusätzliche Styles angeht: Das wirkt sich falls überhaupt kaum auf die Performance aus.
Der Grundsatz sollte daher lauten: Nur das installieren was man wirklich "braucht".
Naja, die physikalische Grenze wäre erreicht wenn die plugin-Tabelle so groß wird dass MySQL das nicht mehr abkann. Aber selbst wenn Du alle verfügbaren Hacks installierst, dürfte diese Grenze noch ewig weit weg sein.Wow, das hätte ich nicht gedacht. Wieder wat gelernt :D
Phrasen in GLOBAL abzulegen ist eine leider weit verbreitete Unart. Das sollte man soweit als möglich vermeiden.Ja ich erinnere mich, das wir dieses Thema in etwa schon mal hatten. Ich hab viele Hacks, die immer wieder den Global-Typ benutzen, statt diesen auf einen anderen Typ zu legen. Muß mal schaun, wo ich mich da schlau machen kann, das ich sowas ändern kann :). Das ist mir schon lang ein Dorn im Auge.
Der Grundsatz sollte daher lauten: Nur das installieren was man wirklich "braucht".Exakt! Genau so denke ich auch.
Und wiedermal vorbildlich erklärt, Merlin! :blumen Wir sollten uns viel öfters unterhalten, da ich bestimmt noch ne Menge von Dir lernen kann =)
Wulfnoth
16.05.2007, 11:29
Ich habe gerade mal 13 Addons eingebaut und zwei davon sind nur für mich als Admin und auf weitere könnte ich auch glatt verzichten, sehen aber schick aus. =)
Ich muss gestehen, dass ich auch immer wieder überrascht bin wenn Leute in den Updatethreads schreiben, dass sie über 50 Templates updaten mussten. Denn in einem angepassten Style werden in der Regel nur 3-4 Templates geändert (header,footer,navbar und forumhome) und ich möchte wetten, dass die meisten Leute auf fast alle Addons verzichten könnten. :winke:
Die Obergrenze für Addons liegt aber glaube ich auch beim Server. AquariumForum.de (http://www.aquariumforum.de) ist z.B. ein sehr langsames Board obwohl dort nicht übermäßig viele Addons eingepflegt wurden. Manch anderes Forum ist aber total dichtgehackt und rennt immer noch flott.
Och auf eine ganze Latte geänderter Templates kommt man auch wenn man nicht inflationär Add-ons installiert hat.
Beispiel? Bittesehr:
Banner-Grafik (Werbung) im Header
Links zu Impressum, Nutzungsbedingungen, Datenschutzerklärung in Navbar/Footer
Moderatoren, Themen und Beiträge unter der Forenbeschreibung
Geschlecht in Beiträgen
Das wären dann schonmal die Templates
header
navbar
footer
FORUMHOME
forumhome_forumbit_level1_nopost
forumhome_forumbit_level1_post
forumhome_forumbit_level2_nopost
forumhome_forumbit_level2_post
FORUMDISPLAY
postbit
postbit_legacy
= 11 Templates
Hat man dazu noch Themenpräfixe installiert:
newthread
threadbit
threadbit_deleted
threadadmin_editthread
SUBSCRIBE
search_forums
search_results
editpost
Und schon sind es 19 Templates.
Dazu vielleicht noch einen Hack der sich mit Umfragen beschäftigt und einen für Events - und schwupps bist Du bei 50.
ich mag euch garnicht sagen was ich alles isntalliert/verändert usw hab:P :D
@ragtek
Dem kann ich mich fast anschliessen.
Alleine da ich keine Button mag, werfe ich die generell aus den Forensystemen heraus und ersetze sie durch Textlinks. Parallel dazu und dank einer deseignenden Ehefrau, liebe ich es komplexe Designs umzusetzen, die das vB individualisieren. Somit komme ich generell auf dreistellige Templateänderungen und bin daher auch ein so leidenschaftlicher Verfechter des TMS.
Bei Hacks ist es inzwischen eher rückläufig und dennoch sind es immer wieder zwischen 40 und 50, wobei ich unsere eigenen Erweiterungen nicht mitzähle, da sie, ähnlich wie, als Beispiel, bei Andreas planet-liebe.de, da ich dieses kenne, ein fester Bestandteil der Anforderungen sind. Alleine das wir eine Dokumentation von ca. 20 DIN-A4 Seiten für das Team bereitstellen, ist nicht normal :) Vom Newssystem über so Dinge wie Magazinplanung bis hin zum Onlinesatz haben wir ca. ebensoviel nicht sichtbare Bereiche wie jene, die ein Besucher oder ein Mitglied sehen kann.
Allerdings, das muss ich zugeben, gewöhnen wir uns mehr und mehr das "saubere" Arbeiten an. Codeänderungen werden, sofern möglich, in Plugins untergebracht, die dann, zusammen mit den Templates und den Phrasen, einem Add-On untergeordnet werden. (Ich habe seit meinem Studium nicht mehr so viele Anleitungen gelesen wie in diesen Tagen, da wir aktuell an einer ganz neuen Version arbeiten)
Ich denke, dass die Basis des vB gesund genug ist, um rechlich Erweiterungen verkraften zu können :)
Allerdings, das muss ich zugeben, gewöhnen wir uns mehr und mehr das "saubere" Arbeiten an. Codeänderungen werden, sofern möglich, in Plugins untergebracht, die dann, zusammen mit den Templates und den Phrasen, einem Add-On untergeordnet werden. Obwohl es immer noch Leute auf vBOrg gibt, die ihre Änderungen direkt in PHP vornehmen. Gibt es da eigentlich auch Ausnahmen, das man zum Beispiel nicht alles in Hooks unterbringen kann?
(Ich habe seit meinem Studium nicht mehr so viele Anleitungen gelesen wie in diesen Tagen, da wir aktuell an einer ganz neuen Version arbeiten)Woran arbeitet Ihr denn zurzeit? :)
Obwohl es immer noch Leute auf vBOrg gibt, die ihre Änderungen direkt in PHP vornehmen.
Ja.
Es gibt paar Codestellen, wo es keine günstigen Hook-Stellen gibt, bzw gibts extraquerys die mit ner dateiänderung unnötig wären.
Das war vor 2 Monaten bei mir der Fall(kein hook in der nähe).
Kann jetzt leider nicht mehr sagen was das genau war.
und zu den grenzen: man kann auch an die grenzen stoßen wenn der programmierer nicht mehr kann:D
ich bin ja seit monaten dabei, mit jemanden ein board aufzubaun mit extrem vielen eigenentwicklungen, NUR langsam wirds häftig und schwer:D
An "alles neu" :D
Das alte Magazin (monatliches Erscheinen) wird aufgegeben und es kommen dafür 3 "Dauermagazine". Unser Magazinplanungssystem wird massiv erweitert und später soll diesem noch ein offen zugängliches Releaselistensystem hinzugeführt werden. Die Startseite (vbadvance) soll gegen vBCMS ausgetauscht werden. Dann werden gerade die News noch in Kategorien unterteilt, die "große" Galerie von Harald getestet (soll Photopost ersetzen) und vieles, vieles mehr :)
ich bin ja seit monaten dabei, mit jemanden ein board aufzubaun mit extrem vielen eigenentwicklungen, NUR langsam wirds heftig und schwer:D
Ich bins nicht :floet
Nein ;)
Wenn man sich die Parallelpostings bei vbd und vbh anschaut, kann mans eh vielleicht eraten:D
Aber egal, b2t.
Zu Dateiänderungen.
Ich denke mir, wenn ich ein Riesnboard hätte(viele Besucher) mit extrem vielen Plugins, dsa ich das alles der Performancezuliebe in den Dateien machen würd.
kA ob das jetzt echt besser ist, müsst man vielleicht auf vb.org fragen...da dort die profis daheim sind.(ich denks mir halt, da man so das pluginsystem deaktivieren könnt)
Gibt es da eigentlich auch Ausnahmen, das man zum Beispiel nicht alles in Hooks unterbringen kann?
Jein.
Nehneb wir als Beispiel eine Datenbankabfrage, für die es keinen passenden Hook gibt um sie zu verändern.
Wenn man es unbedingt per Plugin machen möchte, braucht man mehr Datenbankabfragen und/oder wesentlich mehr Code.
Eine Dateiänderung hingegen kommt vielleicht mit eine zusätzlichen Feld in der Abfrage aus.
So muss man halt schauen ob das Vermeiden einer Dateiänderung den zusätzlichen aufwand rechtfertigt.
Grundsätzlich ist es so, dass Dateiänderungen performanter sind als Plugins.
Dafür sind Plugins wesentlich wartungsfreundlicher.
Kritisch wird das aber wohl erst größeren/großen Boards.
Man kann dann versuchen in Plugins nur include()'s zu verwenden, die den eigentlichen Code laden.
Dies hat den Vorteil dass weniger Speichern benötigt wird, der Code vorcompiliert werden kann (=> PHP Opcode Caches wie APC, eAccelerator, XCache) - allerdings werden mehr Dateizugriffe nötig was die Performance wieder reduzieren kann.
Einen recht interessanten (aber auch gefährlichen) Ansatz verfolgt "Plugin Accelerator" - Plugins werden direkt in die PHP Dateien geschrieben, wofür Schreibzugriff nötig ist-
Einen recht interessanten (aber auch gefährlichen) Ansatz verfolgt "Plugin Accelerator" - Plugins werden direkt in die PHP Dateien geschrieben, wofür Schreibzugriff nötig ist-Und da geb ich Dir wiedermal Recht, Merlin!
Nichts gegen Trigunflame's Programmierkenntnisse, zumal er sich ja auch gut in dieser Materie auszukennen scheint. Aber allein wieder die Tatsache, wiedermal tiefe Eingriffe in die PHP's vornehmen zu müssen, hält mich von so einem Vorgehen einfach davon ab. Zumal Andreas es ja hier (http://www.vbulletin.org/forum/showpost.php?p=892675&postcount=5) ebenso verdeutlicht hat, was passieren könnte, wenn...
Und nun weiß ich auch, was Du unter "gefährlichen Ansatz" meinst. Zumal Paul es ja hier auch anfragte...
Would it not be less dangerous to copy the plugin code to a php file named after the hook, and just edit the hook call to an include() for that file (have a plugins folder the same as the includes folder) ?
Wer weiß, was die Zukunft bringen wird, aber ich bin mir sicher, das Jelsoft und Andreas irgendwann mal vielleicht die super Idee haben und vielleicht etwas entwickeln werden :)
So hier kommt nun meine Idee zum Einsatz:
So der Plugincode kommt in die Datei rein aber zwischen ne if abfrage ob pluginsystem aktiv oder nicht ist
if ! DISABLE_HOOKS {
plugincode
}
Natürlich trotzdem nicht wirklich "gut" da ebn bei webhostern praktisch jeder der auf der maschiene ist, die dateiem ändern könnt,
aber für leute mit rootserver wärs doch optimal^^
trotzdem, wirds das nie spieln da man hier ja schaut das die breite masse angesprochen wird und nicht einzellne gruppen was aber auch logisch ist*g*
Öhm ... wo ist da der Unterschied zu Trigunflames 'Plugin Accelerator'?
Der macht doch genau das (gut, ohne die Abfrage).
naja mein vorschlag ist eben die abfrage, was nicht zum totalabsturz des boards führt!
wenn das board nicht mehr funktioniert, muss man nur weiterhin die pluginfunktion deaktivieren in der config.php
so wars gemeint
Und was ist mit parse error in z.B. init.php (Hook init_startup)?
Den wirst du mit einem Check auf DISABLE_HOOKS nicht los => Board platt, Dateien müssen per Hand bearbeitet werden ;)
hab ich doch eh geschriebn das es nicht wirklich problem möglich ist
edit: ok doch nicht....
vBulletin® v3.7.4, Copyright ©2000-2008, Jelsoft Enterprises Ltd.