Die Bearbeitungsperformance bei der Arbeit an einer Website unter Drupal 7 lässt enorm nach.

am 13.02.2013 - 21:21 Uhr in
Hallo liebe Drupalgemeinde,
ich bin relativ neu in der Gemeinde und auch ein Anfänger in Drupal. Bin zur Zeit dabei eine größere Site aufzubauen und bekomme scheinbar Performance-Probleme:
Nach kurzer Zeit dauert es enorm lange bis ich z. B. eine Buchseite erstellen bzw. fertigstellen kann. Anfangs dachte ich an ein Fehler auf meinem Rechner (Macintosh) - evtl. Arbeitsspeicher oder Fehler in der MAMP-Einstellung, aber nein, auch wenn ich auf dem Server meines Providers (HostEurope) arbeite und nicht lokal auf dem Rechner (virtueller Server), bleibt das Problem bestehen: Drupal arbeitet nach einer kurzen Zeit enorm langsam!
Habe ich hier ein Einstellungsproblem? Wenn ja wo?
Der PHPCache liegt bei 128 MB; da ich noch beim Design und Erstellen bin, habe ich die JavaScript- und CSS-Einstellung noch nicht auf komprimiert gestellt.
Ich weiß, vermutlich - ja sicher ist diese Frage schon gestellt worden, aber wo finde ich die passende(n) Antwort(en)? Kann mir einer von euch helfen?
Danke euch schon im Voraus! :-)
LG CT
- Anmelden oder Registrieren um Kommentare zu schreiben
hast du etwas zum profilen
am 13.02.2013 - 23:19 Uhr
hast du etwas zum profilen installiert (xhprof, xdebug o.ä)?
Zitat:Bin zur Zeit dabei
am 14.02.2013 - 06:06 Uhr
Bin zur Zeit dabei eine größere Site aufzubauen...
Kannst du das mal etwas spezifizieren? Wie viele Module sind z.B. im Einsatz, was hast du schon an Views oder eigenen Inhaltstypen laufen, welche Änderungen hast du eventuell am Theme vorgeommen, Skripte, usw.?
Drupal kann sehr schnell sehr hungrig nach Hardware werden, und 128 MB sind wirklich gar nichts für eine Seite die nur ein paar Module einsetzt. Da kommt man sehr schnell an seine Grenzen, gerade bei so Geschichten wie php_limit 128 MB. Wie sieht denn der Websapce/Server generell aus? Eventuell kommt auch die CPU schon an ihre Grenzen.
Drupal braucht ein ordentliches Futter um vernünftig zu laufen, und einige Webspace-Angebote oder Shared-Angebote kommen da sehr schnell an ihre Grenzen.
Das gesagt - Es kann natürlich auch an anderen Dingen liegen. Dazu müsste man eventuell eine Fehleranalyse durchführen, z.B. mal einzelne Module deaktivieren, oder Skripte kurzzeitig deaktivieren. Rufst du die Node-Add-Seite im Overlay auf? Manchmal kann es da schon helfen dieses Overlay zu deaktivieren, und lieber auf dieses zu verzichten.
"hast du etwas zum profilen"
am 14.02.2013 - 09:58 Uhr
Hallo Anax,
zunächst einmal vielen Dank für deine schnelle Rückmeldung. Ich habe es wegen meiner starken Erkältung leider gestern nicht mehr lange ausgehalten.
Jetzt aber zu deiner Frage: Nein, nicht das ich wüsste! Da ich auch ein Anfänger bin, wüsste ich auch gar nicht wo ich das nachkontrollieren könnte ?
LG CTM
Bin zur zeit dabei …
am 14.02.2013 - 10:44 Uhr
Hallo Genesis,
auch dir herzlichen Dank für die Rückmeldung. Ja tatsächlich habe ich einiges wohl vergessen zu erwähnen:
- also die Site soll ein Portal werden mit vielen Artikeln, einfachen Seiten, Abhandlungen zu bestimmten Themen (als Buch),
- das Theme habe ich komplett selbst designed, aufgebaut und bin derzeit dabei (hauptsächlich) an den CSS individuelle Anpassungen vorzunehmen,
- ich habe eine View erstellt und im Einsatz, um diverse Veranstaltungen zu managen,
- tatsächlich habe ich aber sehr viele Blöcke erstellt, weil ich im konkreten Fall nicht weiß/wußte, wie ich das Problem anders hätte lösen können:
=> Im Portal sind diverse Einrichtungen, die kurz näher vorgestellt werden (= einfache Seiten). Jeder dieser Einrichtungen hat eine Kontaktbox, wo
die Kontaktdaten, Adressen stehen. Diese Kontaktbox sieht optisch bei allen gleich aus, nur mit unterschiedlichem Inhalt. Da ich nicht weiß,
wie ich hier zu einer besseren Lösung komme, habe ich jeder Einrichtung eine eigene Kontaktbox erstellt (43 Kontaktblöcke).
=> vermutlich liegt hier schon eines der Fehler? Obwohl, die Langsamkeit in der Bearbeitung ist erst aufgetreten, als ich mit den Abhandlungen
begonnen habe
- zur Zeit erstellt sind: 83 einfache Seiten, 46 Veranstaltungen (individueller Typ mit View), derzeit 12 Artikel, derzeit 21 Buchseiten. Gerade bei den
letzten beiden (Artikel und Buchseiten) sollen noch viele weitere folgen
- tatsächlich sind auch einige Module eingebunden, aber nicht unbedingt alle schon aktiv (da ich ja noch nicht weiß, ob ich sie überhaupt benötige),
Zur Vollständigkeit, hier mal die aktiven Module: Views, Views UI, Administration Development tools, Administration menu, Backup and Migrate, Insert,
IMCE, Link, Devel, Devel generate, Date und Date API, Stylizer, Chaos tools, CKEditor, jQuery Update, Superfish; dann kommen noch einige Kern-Module.
- auf Grund der noch nicht abgeschlossenen Arbeiten ist unter Bandbreitenoptimierung nichts angeklickt, auch
unter Cache ist nichts aktiviert (min. Cache-Lebensdauer , Ablauf von zwischengespeicherten Seiten
- und schließlich ist der Indexierungsstatus bei 100%
Rufst du die Node-Add-Seite im Overlay auf? Manchmal kann es da schon helfen dieses Overlay zu deaktivieren, und lieber auf dieses zu verzichten.
Wo kann ich das sehen/erkennen und wie ggf. abstellen?
Wenn ich dir noch weitere Infos geben soll, sag' mir welche. Danke für deine Aufmerksamkeit!
LG CTM
Das Overlay kannst du unter
am 14.02.2013 - 10:57 Uhr
Das Overlay kannst du unter den Core Modulen aktivieren oder deaktivieren.
profilen mit dem devel modul
am 14.02.2013 - 11:11 Uhr
Mit dem Devel Modul kannst du deine Seitenaufrufe profilen, d.h. du kannst dort konfigurieren, dass du z.B. mit xhprof einen einzelnen Seitenaufruf in alle seine Einzelteile und Abfragen aufsplittest und sehen kannst wo deine Zeit eigentlich genau hin geht. Dazu musst du zuerst das xhprof modul für php installieren und aktivieren. Ob es bereits läuft kannst du mit phpinfo() sehen.
Danach kannst du dann das entsprechende Häkchen im Develmodul setzen und die Pfade deiner xhprof installation eingeben.
Overlay
am 14.02.2013 - 18:58 Uhr
Hi glycid,
Ja natürlich! Ich Blödi, sorry habe nicht so schnell geschaltet.
Aber eine Frage: Verbraucht das Overlay tatsächlich so viel Speicher, dass die Performance so darunter leidet?
LG CTM
profilen mit dem devel modul
am 14.02.2013 - 19:28 Uhr
Wow,
ich merke tatsächlich, dass ich weit entfernt bin von dem, was ihr Programmierer so alles drauf habt und versteht, wovon ihr redet.
Ich komme aus dem Designbereich, bin stolz auf meine CSS und kleinen Programmierkenntnisse, aber das habe ich leider nicht ganz verstanden.
Das heißt: Verstanden schon, aber mit dem umsetzen ist das eine andere Geschichte! Ich trau mich oft an diese Sachen nicht dran, da ich es auch nicht richtig verstehe.
Dann kommt alles auch noch auf Englisch und dann steigt die Sorge, dass ich hier komplett etwas in den Sand setze.
Habt ihr diese Erfahrung mit der Langsamkeit nicht schon selbst gemacht? Wenn ja, kann man da nicht die Ursache einschränken?
Das mit dem PHP und dem Modul ist ja gut und schön, aber für mich Laien etwas kompliziert. Bietet Drupal nicht ein fertiges Modul an, was mir all das Drum herum abnimmt?
Wie schon gesagt: Die Langsamkeit ist nicht sofort da, sondern wächst mit zunehmender Arbeit. Das lässt darauf schließen, dass irgendetwas im Cache gesammelt wird, oder?!
Ich dachte: Den Cache komplett löschen würde das Problem lösen, aber leider nicht. Dann: sobald ich mich auslogge, ist alles wieder okay!
Und ehrlich gesagt, so groß ist die Site doch gar nicht. Und mein Mac ist nicht gerade langsam - weil das Problem auch lokal auf dem Rechner auftritt, wenn ich mit dem virtuellen Server arbeite.
Hat jemand vielleicht noch eine Idee? Ich habe ja schon viele Details abgegeben, aber falls was fehlt, bitte Bescheid geben. Danke!
Würde gerne am Projekt weiter arbeiten, aber unter diesen Umständen, macht es fast keinen Spaß mehr. :-(
Nachtrag:
Habe vorhin irgendwo im Netz folgende Info gelesen:
"I have drupal running on a shared host, based on comments of other people and my own experience:
Drupal is slow Client Side because some modules use javascript and weigh heavily on your own CPU, so:
1. switch off the overlay module
2. switch off the toolbar module (which always hovers over your page at the same position, don´t know if its javascript of absolute CSS positioning, but it makes it slow) and install the administation menu module. It works better and faster.
and Drupal is slow because of Server Side Caching and things
Switch off the Devel modules if you have them installed
switch off the Update Manager Module
Now my Drupal seems still a bit slow on admin pages (with several modules installed), but not much slower than D6."
dann auch dies:
disable Dashboard and Contextuals links
disable Overlay Module
Ist das richtig? Kann man mit diesen Deaktivierung vernünftig arbeiten und dann wieder aktivieren als wär' nichts gewesen?
Fragen über Fragen …!
LG CTM
Das Overlay, das Dashboard,
am 14.02.2013 - 19:40 Uhr
Das Overlay, das Dashboard, und die Toolbar brauchst du nicht zwingend und schon gar nicht für volle Funktionalität. Die Toolbar kannst du wie in deinem Zitat erwähnt durch das Modul "Administration Menu" ersetzen, was ich sowieso besser finde. Ich glaube aber nicht, dass sich Toolbar oder Admin Menu von der Performance her so viel tun. Das Overlay hingegen macht ja nichts anderes, als die Bearbeiten- oder Hinzufügen-Seite (node/add, node/edit) und andere Admin-Seiten in einem Overlay, wie eine Lightbox zu öffnen. Das kann durchaus Performance kosten. Wenn du es deaktivierst, dann werden die Seiten eben direkt geöffnet, was einen Page-Refresh zur Folge hat. Alles halb so wild.
Was dein Problem per se angeht, so kann man so etwas immer nur schwer eingrenzen. Warum eine Seite langsam läuft, oder partiell langsam läuft, kann so viele Gründe haben, wie Drupal Zeilen Code hat. Da kann man viel mit der Glaskugel versuchen, aber letztendlich kannst du es nur für dich selbst durch Trial and Error austesten. Einstellungen ausprobieren, Module deaktivieren, Code überprüfen, so etwas eben. Frag dich selbst, wann es dir zum ersten Mal aufgefallen ist, und was du da eventuell geändert hast. Und alles immer nach einander, und dann wieder testen. Natürlich kann es Gründe geben die öfter vorkommen als andere, aber im Grunde ist das wirklich viel Spekulation.
Grundsätzlich gilt aber - Module die in der Live-Phase, also nach der Entwicklung, nicht mehr gebraucht werden, sollten deaktiviert werden. Das gilt z.B. auch für so Sachen wie Rules UI oder Views UI. Die kann man ohne Probleme wieder aktivieren wenn man sie wieder braucht, aber alles was aktiviert ist frisst Speicher und Leistung. So z.B. auch das Update Manager Modul. Das kann man alle paar Tage mal einschalten wenn man denn will, aber auf einer produktiven Seite gibt es keinen Grund es ständig anzuhaben. Da kann man durchaus das ein oder andere MB Speicher mit frei machen, und entlastet so die Seite und den Server insgesamt.
Hast du auch schon im Firebug
am 14.02.2013 - 23:25 Uhr
Hast du auch schon im Firebug im Reiter Netzwerk geguckt ob vielleicht einzelne Dateien "hängen" ?
Sepp
Firebug
am 15.02.2013 - 08:34 Uhr
Hallo Sepp,
vielen Dank für deinen Tipp. Tatsächlich werde ich das mal checken und dann das Ergebnis mal hier posten. Danke!
LG CTM
Overlay, Dashboard, …
am 15.02.2013 - 08:43 Uhr
Hallo Genesis,
Deine Ausführungen sind wie immer sehr hilfreich, da nicht nur so geredet, sondern auch begründet. So kann man das alles etwas besser nachvollziehen! Danke!
Ich werde da mal einige Module deaktivieren und sehen, was es bringt. Einges wird wohl auch an den vielen individuellen Einstellungen im CSS liegen (meine Vermutung);
da muss ich einiges abspecken, da vielleicht viel zu kompliziert und aufgebläht. Ich werde über das Resultat Bericht erstatten und hoffe auf erlösende Ergebnisse,
denn es wäre wirklich fatal, wenn solche Probleme "normal" sind. Egal wie es hier weitergeht, ich hoffe sehr, dass die nächsten Updates von Drupal 7 die Performance verbessern!!!
Bis später und vielen Dank vorerst
LG CTM
CTM schrieb Egal wie es hier
am 15.02.2013 - 09:10 Uhr
Egal wie es hier weitergeht, ich hoffe sehr, dass die nächsten Updates von Drupal 7 die Performance verbessern!!!
Auch wenns eine Randnotiz ist, aber es gibt tatsächlich Hoffnung für einen der nächsten Patches, eventuell schon sehr zeitnah: Massive D7 performance improvements
Davon ab wird das aber im Grundsatz nichts daran ändern, dass Drupal sehr performance-lastig ist, und bei ausgeprägten Projekten dieses Problem auch immer sehr strukturiert und gezielt behandelt werden muss. Oder man bewirft das Problem mit Hardware, wenn man es sich denn leisten kann.
Ich muss aber sagen, dass ich das in dieser Form bei dir noch nicht sehe. Ich denke das Problem liegt wo anders, denn es ist ja kein generelles Problem, sondern ein partielles, dass nur an bestimmten Stellen auftritt. Solche Probleme haben meist eine Ursache, und meist ist diese Ursache etwas, woran man vorher nie gedacht hätte. Falsche Pfade, defekte Klassen in der CSS (bracket nicht geschlossen, usw.), oder Dateien die er (Drupal) nicht findet. Es können aber eben auch Module sein, manche davon haben solche Effekte, z.B. wenn sie beim Laden der entsprechenden Seite viele Infos aufrufen müssen (Token und artverwandte Module ist da so ein Kandidat).
Drupal mag also sein wie es ist, aber manche Probleme liegen eben auch an anderer Stelle. Ich weiß wie nervig das sein kann. Ich habe mal noch zu D5-Zeiten ein komplettes Netzwerk (zweisprachig) für jemanden entworfen, und am Ende hatte uns eine Komponente des language-Moduls die Seite so zerschossen, dass es schneller ging diese neu zu erstellen, als den Fehler zu beseitigen. Heute mache ich mit MySQLDumper vor jeder Modulinstallation ein Backup, und kann so im Zweifel wieder zurück. Man weiß eben nie was passiert wenn man ein Modul aktiviert, gerade bei solchen fernab des Mainstreams. :)