Drupal Optimierungen für jederman - Part 1
Eingetragen von ozon (523) am 09.02.2009 - 17:16 Uhr in
00.00.
Drupal Optimierungen für jederman - soll heissen, es geht um Optimierungen von Drupal Websites die jeder ausführen kann. Nicht jeder hat Zugriff auf das zugrunde liegende System. Deswegen sollen Optimierungen aufgezeigt werden die jedermann einsetzen kann.
Thema 1: Welche Optimierungsmöglichen bringt Drupal selbst mit?
Thema 2: Aktivieren von gzip für CSS und JavaScript Code
Was ist gzip?
Welche Vor- und Nachteile bringen die Verwendung von gzip?
Wie aktiviere ich gzip?
Benutzername | Signup time |
---|---|
ozon | 09.02.2009 - 17:17 |
Cyberschorsch | 09.02.2009 - 19:58 |
dawehner | 09.02.2009 - 23:23 |
r4s6 | 10.02.2009 - 07:24 |
mathias2711 | 10.02.2009 - 09:07 |
rene | 10.02.2009 - 14:05 |
SirFiChi | 10.02.2009 - 15:44 |
Katoka | 10.02.2009 - 15:44 |
sweo | 10.02.2009 - 17:55 |
bv | 10.02.2009 - 18:59 |
Praktikant | 10.02.2009 - 19:52 |
s.Daniel | 11.02.2009 - 17:02 |
Dembarko | 12.02.2009 - 04:33 |
Overburn2k7 | 12.02.2009 - 12:48 |
humanoid | 12.02.2009 - 20:40 |
mRs | 13.02.2009 - 07:31 |
Prior | 16.02.2009 - 14:19 |
ash0815@drupal.org | 17.02.2009 - 02:59 |
- Anmelden oder Registrieren um Kommentare zu schreiben
- Calendar
Änderungen an der
am 17.02.2009 - 21:15 Uhr
Änderungen an der includes/commin.inc
Zeile
file_save_data($data, $csspath .'/'. $filename, FILE_EXISTS_REPLACE);
durch
file_save_data(gzencode($data,9), $csspath .'/'. $filename . '.gz', FILE_EXISTS_REPLACE);
ersetzen. Genauso Zeile
file_save_data($contents, $jspath .'/'. $filename, FILE_EXISTS_REPLACE);
durch
file_save_data(gzencode($contents,9), $jspath .'/'. $filename .'.gz', FILE_EXISTS_REPLACE);
ersetzen.
In der .htacces folgendes am Anfang eingügen:
<Files *.js.gz>
AddEncoding gzip .js
ForceType application/x-javascript
</Files>
<Files *.css.gz>
AddEncoding gzip .css
ForceType text/css
</Files>
Und vor der Drupal Rewrite Regel:
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.css $1.css.gz [L,QSA]
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.js $1.js.gz [L,QSA]
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Ist das ganze Gehacke
am 17.02.2009 - 22:42 Uhr
Ist das ganze Gehacke wirklich vonnöten?
Bei mir tuts auch dies in der .htaccess, da sind auch gleich Workarounds für die üblichen Verdächtigen bei :
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</IfModule>
Suchmaschinenoptimierung (SEO) & Drupal
Alexander Langer, bei deinem
am 17.02.2009 - 23:18 Uhr
Alexander Langer, bei deinem Weg werden wie Files in Echtzeit bei der Auslieferung vom Server gezipt, bei mir werden die Files einmal beim Cache Refresh erstellt und liegen als gzip vor. 2 Unterschiedliche Lösungen zu einem Problem. Bei einem Hochbelasteten Webserver ist das schon ein kleiner Unterschied.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Ok, den Punkt lasse ich
am 17.02.2009 - 23:50 Uhr
Ok, den Punkt lasse ich gelten.
Zum Glück habe ich den Fall bislang noch nicht gehabt. Meist laggen Server wegen zu wenig I/O Performance.
Aber ist doch schön, dass es immer einen Plan B gibt. :-)
Bevor ich aber am Core rumfrickeln würde, würde ich über nen Proxy und / oder lighttpd oder nginx nachdenken ... (ist zwar nicht ganz "für jedermann", aber das sind "hochbelastete Webserver" ja auch nicht ;) )
Suchmaschinenoptimierung (SEO) & Drupal
Hehe, da muss ich dir auch
am 18.02.2009 - 06:57 Uhr
Hehe, da muss ich dir auch wiederum zustimmen.
Ich hab mal ein par Experimente mit lighttpd als statischen Fileserver gemacht. Brachte nicht so viel. Richtig interessant war dagegen der Einsatz vom APC.. Da kann man echt nur sagen "wow - das Ding geht ab wie Schmids Katze..... ;)".Lief richtig gut. Leider gab nach ein par Tagen gab es auf dem Server nen Memory Problem. Daher wieder deaktiviert. Aber php6 kommt......
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
nach dem "vorführeffekt"
am 18.02.2009 - 08:03 Uhr
nach dem "vorführeffekt" von gestern ging später die Seite gut ab. Aber ob ich das wirklich einsetze ist sone sache. im core rumzufrickeln ist sone sache. Kann man bestimmt auch nen Modul für schreiben, werde mal gucken was man da so machen kann!
http://mariuspwn.mybrute.com
APC betrachte ich als
am 18.02.2009 - 09:49 Uhr
APC betrachte ich als Standardausrüstung eines jeden produktiven PHP Webservers. Was die meisten lustigerweise nicht wissen ist, dass man es mitunter konfigurieren muss.
Statt lighhtppd als statischen File-Server auf derselben Maschine würde ich es lieber mit Squid als Proxy probieren und / oder aber geich komplett auf lighty oder nginx umsteigen.
Es gibt so viel was man im Einzelfall machen kann, wenn man erstmal weiß so die Karre im Dreck steckt. MySQL tunen (inkl. Auslagerung von /tmp ins RAM, gerade für Drupal 5, bringt aber für manche MySQL 5 Versionen wegen Bug nichts), statischen File-Cache (Boost), Memcache, Proxy, Datenbankserver auslagern, und und und
Suchmaschinenoptimierung (SEO) & Drupal
ACP als default? Auch mit
am 18.02.2009 - 15:17 Uhr
ACP als default? Auch mit Konfiguration macht er ein manchen Fällen so einige Probleme die auch sehr gut Dokumentiert sind. Auch steht in vielen Dokumentation das man bei einem Einsatz von APC den Server mal gegeben falls neu starten muss. Das ist für mich dann keine Software die unbedingt Produktiv ist. Hängt aber auch sehr stark vom Einsatzort ab. z.b mod_php oder fcgi Lösungen und und und....aber wirst du ja selber wissen ;).
Lighttpd habe ich bei meinen Test als CDN verwendet, er lief auf einen anderen Server. Bevor ich Drupal modifizieren wollte, hab ich einfach mit einigen Apache proxy Tricks und Rewrite alle statischen Files von diesem Server geholt - aber APC brachte mich mehr zum stauen :D
Alexander Langer, schon Erfahrungen mit Kombinationen von obcode Cache Techniken und mysql Cache gemacht? Beispiel APC + Memcache????
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de