Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Off Topic ›

Drupal System optimieren/schneller machen

Eingetragen von Tom from the Hood (53)
am 22.12.2008 - 17:35 Uhr in
  • Off Topic
  • Drupal 5.x

Salü,

Ich wußte jetzt nicht genau welche Kategorie ich nehmen sollte, also wenn es nicht passt, bitte verschieben.

Ich bin jetzt mit meiner Seite mit den groben Sachen fertig und es folgt nur noch der Feinschliff. Aber: Das System ist sowas von quälend langsam geworden und weiße Bildschirme, sowie Fehlermeldungen kommen so dermaßen oft, das es nicht mehr feierlich ist. Ich muß dazu sagen, das ich auch einen ganzen Brocken Module installiert habe. Das memory_limit hängt jetzt schon bei 128MB(alter VServer zum testen), aber trotzdem reicht es nicht und wenn man mal die Seitenaufrufe beschleunigt, dann bricht die Datenbank zusammen. Deswegen wollte ich euch fragen, ob man da noch etwas tunen kann, damit das System etwas weniger Resourcen frißt und schneller läuft. Boost habe ich schon installiert. Kann man vielleicht noch etwas mit der Datenbank, oder dem Server machen? Die Community wird zwar ihren eigenen Server bekommen, aber wenn da mal was los ist, dann geht das Teil ja auch schnell in die Knie bei dem Resourcenhunger...

Beste Grüsse
Tom

‹ Enttäuscht von Drupal Geld verdienen mit Webdesign & Co ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Was bedeutet "wenn man mal

Eingetragen von Alexander Langer (3416)
am 22.12.2008 - 17:53 Uhr

Was bedeutet "wenn man mal die Seitenaufrufe beschleunigt"?
Was bedeutet "dann bricht die Datenbank zusammen"?

Performance ist eine messbare Größe. Zur Beurteilung sind Zahlen, Daten, Fakten nicht schlecht. Die beinhalten Messungen (unter Nenneung der Bedingungen), Konfigurationsparameter, etc.

Grundsätzlich kann man ad hoc und ohne ein Systemaudit nur Stichpunkte nennen:

- Monitoring fahren (z.B. mit Munin)
- Bottlenecks finden (Welcher Systemteil verursacht unter welchen Bedingungen einen Engpass?)
- nicht benötigte Module deaktivieren und entfernen
- öffentliche Download-Methode benutzen
- CSS zusammenpacken (kann Drupal teils automatisch, wenn die CSS Dateien clever genug angelegt wurden)
- JS Dateien zusammenfassen (kann D6 teils automatisch)
- CSS Sprites benutzen
- Webserver auf das Zugriffsmuster hin optimieren
- nicht benötigte Erweiterungen des Webservers deaktivieren
- PHP Opcode Cache (z.B. APC) verwenden und aufs Zugriffsverhalten optimieren
- statische Files über einen leichtgewichtigeren Webserver laufen lassen (nginx, lightppd, ...)
- Reverse Proxy vorschalten
- memcached einsetzen
- DB Server separieren
- RDBMS auf Zugriffsmuster der Anwendung und derer DB hin optimieren
- Teile des Dateisystems in eine Ramdisk schaufeln
- Server mit ausreichend Leistung einsetzen
- ...

Sinn, Unsinn und nötiges Ausmaß der diversen Maßnahmen kann man aber nur beurteilen, wenn man das Gesamtsystem auf Herz und Nieren prüfen kann.

Es bringt überhaupt nichts rein auf Verdacht irgendwas zu installieren, was vorgibt irgendwas zu beschleunigen. In der Softwareentwicklung lernt man, dass wenn 5% der Anwendung 95% der Laufzeit ausmachen, Optimierungen an den übrigen 95% des Codes auch keine Performancegewinne erzielen.

 Webdesign, Drupal, Module, Entwicklung

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erstmal ein richtig dickes

Eingetragen von Tom from the Hood (53)
am 23.12.2008 - 04:31 Uhr

Erstmal ein richtig dickes Danke... :)
Das nenne ich mal eine Community mit kompetenten Leuten und sozialen Charackter. Drupal ist halt nicht nur vom System her das Beste was ich bis jetzt in Fingern hatte... ;)

Zitat:

Was bedeutet "wenn man mal die Seitenaufrufe beschleunigt"?

Das hatte schon gereicht, wenn 4 Leute den Server kurzzeitig mit Anfragen belasten und verschiedenes aufrufen. Habe jetzt erstmal ein par Module still gelegt und ein wenig Fehler gekillt. Sieht schon besser aus. Hier muss ich nochmal ein bischen tüfteln und das ganze anders lösen. Ich arbeite auch mit 2 verschiedenen Templates, das frisst auch noch ein wenig. Da muß ich mir noch eine bessere Lösung einfallen lassen. Die CSS Dateien habe ich zu einer zusammengefasst. Das passt soweit. Alle unwichtigen Erweiterungen des Servers habe ich gekillt(außer Plesk :)) Das Sitemap Modul hat auch noch rumgesponnen und bei fast jedem Klick versucht eine Sitemap aufzurufen. Das habe ich aber gelöst und funktioniert jetzt(hatte ich zwar deaktiviert, aber da kamen irgendwie immernoch Abfragen). Das Statistikmodul ist echt geil! Schade das ich mich erst jetzt so richtig mit Drupal befasse. Das ist ja wirklich alles vom FEINSTEN... :) So macht das Spass. CSS Sprites nutze ich. Das Template ist schon 1a aufgebaut. Logo, Layout, Buttons + Icons machen insgesammt etwa 30 kb. Gibt es ein Modul, wie man die js Dateien zu einer zusammenfasst?(Drupal5)

Zitat:

Was bedeutet "dann bricht die Datenbank zusammen"?

mysql_query(): Unable to save result set in /srv/www/vhosts/beispieldomain.com/httpdocs/includes/database.mysql.inc in Zeile 155

Got error 12 from storage engine query: SELECT data, created, headers, expire FROM cache WHERE cid = 'locale:de' in /srv/www/vhosts/beispieldomain.com/httpdocs/includes/database.mysql.inc in Zeile 174.

Nach ein Weilchen warten gings dann wieder. Sogar den FTP Zugang hat er mir verbaut und nicht mal Putty hat gegriffen. Der Server ist auch nicht gerade das gelbe vom Ei. Ist ein alter VServer von Strato. Da ist aber auch noch ein kleines Forum und 1 Blog drauf, welche ein bischen Traffic schieben(etwa 1000 unique). Ich denke mit dem neuen Server sollte es kein Problem sein. Mit 2GB Ram sollte das Teil eine Weile hinkommen.
Wie kann ich einen DB Server separieren? Das habe ich noch nie gemacht. Funktioniert das ordentlich?

Ich werde dann mal mit Munin ein par Tests starten und den Rest deiner Liste abarbeiten... Vorallem memcached hört sich sehr, sehr interessant an. Mal sehen wie schnell ich das Teil noch bekomme. Bis jetzt ist es noch nicht annähernd akzeptabel.

Beste Grüsse und vielen Dank
Tom

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie gesagt, es bringt nichts

Eingetragen von Alexander Langer (3416)
am 23.12.2008 - 11:40 Uhr

Wie gesagt, es bringt nichts blind draufloszuoptimieren.

Deine Datenbank bricht nicht direkt zusammen, ihr geht schlichtweg der Speicher aus. Offensichtlich ist dein System in Bezug auf RAM nicht worst-case optimiert.

DB Server separieren bedeutet schlichtweg ihn auf einem eigenen Server laufen zu lassen. Das macht natürlich vor allem dann Sinn, wenn man mit dem Hoster verhackstückeln kann, dass beide Server im Optimalfall z.B. über ein Cross-Connect Kabel auf ner eigenen Netzwerkkarte laufen, oder zumindest im selben Rack untergebracht und direkt über den Switch verbunden sind. In unterschiedlichen Rechenzentren / Subnetzen fressen die Latenzen die eingeplanten Performancezuwächse auf und bremsen womöglich gar.

Hintergrund ist, dass die verschiedenen Serverdienste ihre Maschinen auf verschiedene Arten belasten. Datenbankserver skalieren mit I/O Leistung (Speicherbandbreite, Diskperformance, ...), wogegen Webserver eher CPU-lastig sind. Trennt man die Systeme, kann man sie einzeln besser auf ihren Einsatz optimieren. Muss man aber erst, wenn sich Webserver und Datenbankserver ins Gehege kommen.

Memcache habe ich selber eine ganze Weile im Einsatz gehabt, bringt aber bei Ein-Server-Lösungen praktisch nichts. Drupal cacht von sich aus über die Datenbank und hält dort auch diverse Variablen fest. Die Anfragen auf die entsprechenden Tabellen laufen bei einer halbwegs ordentlich eingestellten MySQL DB über den Query Cache und verursachen praktisch kaum zusätzliche Last. Diejenigen Anbfragen, die komplexer sind, die dynamisch in Drupal generiert werden und nicht über den Cache von Drupal laufen, laufen beim Einsatz von Memcache auch nicht über den Memcache, erfahren also auch keine Beschleunigung. Dafür klaut Memcache aber RAM, den man womöglich andernorts besser einsetzen kann.
Memcache macht gerade in Zusammenhang mit einem separaten DB Server Sinn, weil man so Latenzen und Bandbreite bei der Kommunikation zum DB-Server einspart. Dann aber bitte möglichst separate Memcache-Server und am besten gleich mehrere davon...

Ich hab aktuell wegen eines kleinen Problems zwischen Drupals Caching und manchen Browsern, dem ich noch genauer nachstellen muss, eine Website mit siebenstelligen PIs im Monat ohne Caching laufen und die paar Hundert (und manchmal auch vierstelligen) SQL Abfragen die Sekunde zzgl. Webserver macht der Server problemlos mit.

Irgendwo habe ich auch noch nen Dual-Quadcore mit 8 GB RAM laufen, der sich ganz tierisch langweilt... Die meisten Projekte sind servertechnisch leider viel unspannender, als man meint ;)

 Webdesign, Drupal, Module, Entwicklung

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen, vielen Dank für

Eingetragen von Tom from the Hood (53)
am 29.12.2008 - 19:53 Uhr

Vielen, vielen Dank für deine Hilfe. Soweit passt das jetzt alles und ich habe den Server so gut es geht eingestellt. Es bricht nichts mehr zusammen, vom Speed her geht jetzt schon eine Ecke mehr, aber der Server hat eindeutig zu wenig Ram für eine große Community und lahmt sehr oft(manchmal geht es ganz ordentlich, dann ist er wieder langsam. Kann leider nicht sehen, was sich da noch für Seiten auf dem Server tummeln).

Zitat:

Ich hab aktuell wegen eines kleinen Problems zwischen Drupals Caching und manchen Browsern, dem ich noch genauer nachstellen muss, eine Website mit siebenstelligen PIs im Monat ohne Caching laufen und die paar Hundert (und manchmal auch vierstelligen) SQL Abfragen die Sekunde zzgl. Webserver macht der Server problemlos mit.

das nenne ich mal krass... :)

Beste Grüsse und wünsche einen guten Rutsch euch allen
Tom

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich denke so krass ist das

Eingetragen von Alexander Langer (3416)
am 29.12.2008 - 19:59 Uhr

Ich denke so krass ist das gar nicht. Im MySQL Performance Blog las ich die Wochen noch was von einem relativ betagten Dual Core, den man eine fünfstellige Anzahl Abfragen hat beackern sehen. Ist natürlich immer die Frage der konkreten DB, der Abfragen und der Konfiguration.

 Webdesign, Drupal, Module, Entwicklung

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hätte das nicht für

Eingetragen von Tom from the Hood (53)
am 30.12.2008 - 18:42 Uhr

Ich hätte das nicht für möglich gehalten. :)

Beste Grüsse

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • lstin tombent homophonic wikke
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
Weiter

Neue Kommentare

  • Rollen
    vor 2 Tagen 1 Stunde
  • Inzwischen sind wir bei
    vor 1 Woche 5 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 6 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 3 Tagen
  • Hey danke
    vor 9 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 10 Wochen 6 Tagen
  • In der entsprechenden View
    vor 10 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250238
Registrierte User: 20465

Neue User:

  • FoxPiola
  • ocvk2810
  • marouane.blel

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 22 Gäste online.

Benutzer online

  • ian_radnor

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association