Performancebedenken...
am 23.04.2009 - 21:37 Uhr in
Hallo zusammen!
Ich versuche gerade, mit Drupal eine Pflanzendatenbank umzusetzen. Ich beschäftige mich zwar schon einige Zeit mit dem CMS und komme auch mit HTML und CSS recht gut klar, PHP ist für mich aber immer noch ein Buch mit sieben Siegeln.
Mein Projekt gestaltet sich folgendermaßen:
Die Pflanzennamen sollen mittels eines Taxonomievokabulars hierarchisch nach Kategorie, Gattung, Art und Sorte gegliedert werden, und zwar nach wahlweise botanischem und deutschem Namen. Daraus möchte ich auch eine möglichst flexibel zu gestaltende Hauptnavigation auf Basis der Taxonomie erstellen (Taxonomy Menu oder ein ähnliches Modul). Ich habe dazu zwei Vokabulare (deutscher Name, botanischer Name) angelegt, gebe die Namen in ein Content Taxonomie-Feld ein und lasse die Terms direkt in die Core Taxonomie schreiben. Das Titelfeld habe ich mit dem Autonode-Modul ausgeblendet, da werden automatisch die botanischen Namen reingeschrieben.
Die Eingabemasken habe ich mit dem CCK strukturiert, nach Herkunft, Blütezeit, Blattform, Bodenansprüchen usw. Insgesamt etwa 15 verschiedene Felder inklusive Imagefield. Für jedes Feld lege ich zusätzlich ein Vokabular mit den wichtigsten Schlagworten an, ebenfalls mit der Content Taxonomy. Die für jedes Feld ausgewählten Taxonimiebegriffe sollen in separaten Blocks getrennt vom Inhalt des jeweiligen Pflanzenporträts als Links erscheinen und die Suche nach anderen Pflanzen mit den gleichen Eigenschaften ermöglichen. Später möchte ich über kombinierte Views Abfragen einbauen, die eine Suche nach Kombinationen von Eigenschaften über verschiedene Felder hinweg ermöglichen sollen.
Auf einigen Seiten habe ich jetzt - zwar schon älte - aber trotzdem beunruhigende Statements zum Thema Performance gelesen, beispielsweise, dass man versuchen sollte, mit so wenig Modulen wie möglich auszukommen, kombinierte Abfragen vermeiden und so weiter. Ich möchte die Website natürlich möglich zukunftssicher aufbauen und kalkuliere pro Kategorie (eine kategorieübergreifende Suche ist nicht vorgesehen) mit etwa zwei- bis dreitausend Nodes.
Wie schätzt Ihr das ein? Hört sich das Ganze konzeptionell gut an oder könnte ich das vielleicht auch einfacher umsetzen und auf einzelne Module verzichten? Oder sollte ich als Menü vielleicht einfach das Standardmodul nutzen und auf das aus der Taxonomie generierte Menü verzichten? Ich würde mich freuen, wenn ihr mir da ein paar Einschätzungen geben könntet, weil ich da als Drupal-Anfänger nicht wirklich weiß, auf was ich mich da einlasse und ich möchte mich nicht in eine Sackgasse manövrieren.
Vielen Dank im Voraus und viele Grüße!
kissenschlacht
- Anmelden oder Registrieren um Kommentare zu schreiben

Es gibt eine ganze Anzahl
am 23.04.2009 - 22:01 Uhr
Es gibt eine ganze Anzahl sehr komplexer Websites mit massig Traffic (zig Millionen PIs im Monat) durch eingeloggte User. Die Skalierbarkeit von Drupal ist gut und wird von Version zu Version besser.
Performance ist schlussendlich eine messbare Größe, die von einem Gesamtsystem abhängt, von dem Drupal nur ein Teil ist. Das Gesamtsystem beinhaltet Datenspeicher, Datenverarbeitung und Datenübertragung. Die Wahl der Infrastruktur ist daher mit maßgeblich, sowohl direkt als auch perspektivisch was weitere Möglichkeiten der Einflussnahme auf Systemparameter angeht.
Du kanst dein System so schlank wie möglich machen, aber wenn du zu einem Grabbeltisch-Hoster gehst, weil Geiz geil ist, wirst du - Erfolg des Projekts vorausgesetzt - nicht lange warten müssen, bis dir die Maschine die Grätsche macht. Du hast die Wahl der kompletten bandbreite von Billigst-Sharedhosting über virtuelle Server, Cloud Computing, dedizierte Root-Server(-Farmen), .. und allen jeweils einhergenden (Un-)Möglichkeiten mit allerlei technischen Maßnahmen das System skalieren zu lassen.
Das ist ebenso ein Punkt auf den du ganz gezielt Einfluss nehmen kannst. Die Komplexität deiner Drupal Installation ist im Grunde eine Konstante, auf die du keinen Einfluss hast, weil sie sich durch die zu erledigende Funktionalität zwangsläufig ergibt. Eine Faustformel á la 2 x Modulanzahl = halber Speed gibt es nicht und kann es nicht geben. So wenig wie die Geschwindigkeit eines Fahrzeugs von einzelnen Größen wie Hubraum, PS, Anzahl Zylinder, .. bestimmt wird. Mit einem 1200 PS Panzer-Motor wirst du nie ein Rennen gegen meinen 108 PS Wagen gewinnen, obwohl der auch nch mehr Hubraum und noch mehr Zylinder und noch mehr Drehmoment hat...
Es gibt nichts Gutes, außer man tut es. Leg los, der Rest wird sich dann ergeben wenn es soweit ist. Sich schon vorher wegen irgendwelcher Flausen, irgendwelchen Eventuells und Vielleichts zu drücken, gilt nicht!
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
Hi Alexander, erstmal vielen
am 23.04.2009 - 22:19 Uhr
Hi Alexander,
erstmal vielen Dank für deine Antwort.
Mir ist klar, dass es viele Performanceschrauben gibt, an denen man im Notfall drehen kann, von der Optimierung der Datenbank bis über die Wahl eines guten Hosters. Ich habe auch nicht vor, mir bei letzterem Punkt von irgendeinem Billigheimer den Spaß verderben zu lassen. Trotzdem würde ich gerne wissen, ob sich die Grundkonfiguration meiner Seite für euch okay anhört, weil ja bei Drupal immer viele Wege nach Rom führen. Ich möchte zum Beispiel keine exotischen Module verwenden, die dann irgendwann nicht mehr weiterentwickelt werden, und da kenne ich mich halt dann noch nicht so richtig aus...