Hallo Konrad,
solche langen Ladezeiten hatten wir auch mal. Bei uns war tt_news der Übeltäter 
(viele Kategorien, >50.000 Artikel). Bis wir da allerdings draufgekommen sind, 
haben wir an allen Ecken und Enden versucht, TYPO3 zu optimieren. Dabei ist 
folgende Liste entstanden. Ich übernehme keine Garantie, dass das alles 
sinnvoll ist, aber vielleicht hilft dir ja der eine oder andere Tipp...


---------------------------------------------

*) versionNumberInFilename aktivieren

Im Install Tool kann festgelegt werden, ob externe JS- und CSS-Dateien die 
filemtime als Querystring angehängt bekommen oder ob die filemtime im 
Dateinamen eingefügt wird.

$TYPO3_CONF_VARS['BE']['versionNumberInFilename'] = '1'
$TYPO3_CONF_VARS['FE']['versionNumberInFilename'] = 'embed'

---------------------------------------------

*) fehlendes Favicon

Falls im Access Log das Favicon mit einer 404-Fehlerseite aufscheint, dann 
wirkt sich das negativ auf die Performance aus, da jedesmal diese 404-Seite 
geladen wird.

---------------------------------------------

*) MySQL: Slow Query Logging

Das slow_query_logging in my.cnf aktivieren und die SQL Statements entsprechend 
optimieren.

---------------------------------------------

*) Browsercaching über htaccess aktivieren

<FilesMatch "\.(js|css|png|jpg|gif|swf)$">
  <IfModule mod_expires.c>
    ExpiresActive on
    ExpiresDefault "access plus 7 days"
  </IfModule>
  FileETag MTime Size
</FilesMatch>

---------------------------------------------

*) exec_SELECTquery vermeiden

Stattdessen exec_SELECTgetRows verwenden, da man sich hier nicht um das 
Schließen der Datenbankverbindung kümmern muss. Liefert praktischerweise ein 
Array mit den Ergebnissen zurück.

---------------------------------------------

*) Logging deaktivieren

$TYPO3_CONF_VARS['SYS']['enableDeprecationLog'] = '0';
$TYPO3_CONF_VARS['SYS']['displayErrors'] = '0';
$TYPO3_CONF_VARS['SYS']['systemLog'] = '';
$TYPO3_CONF_VARS['SYS']['systemLogLevel'] = '';
$TYPO3_CONF_VARS['BE']['allowDonateWindow'] = '0';
$TYPO3_CONF_VARS['SYS']['errorHandlerErrors'] = '0';
$TYPO3_CONF_VARS['SYS']['exceptionalErrors'] = '0';
$TYPO3_CONF_VARS['SYS']['syslogErrorReporting'] = '0';
$TYPO3_CONF_VARS['SYS']['belogErrorReporting'] = '0';

---------------------------------------------

*) TSFE Änderungen aus Extensions heraus vermeiden

Änderungen am TSFE (z.B. additionalHeaderData) sollten so weit wie möglich 
vermieden werden.

---------------------------------------------

*) substituteMarkerArrayCached vermeiden

Quelle: 
http://www.dmitry-dulepov.com/2008/07/why-subtitutemarkerarraycached-is-bad.html

---------------------------------------------

*) Hooks nur wo notwendig ausführen

Prüfen, ob diese auch nur in der notwendigen Ansicht (z.B. SINGLE) ausgeführt 
werden --> t3lib_div::devLog()

---------------------------------------------

*) set_no_cache vermeiden

Diese Funktion darf aus einer Extension nicht aufgerufen werden!

---------------------------------------------

*) Garbage Collection Scheduler Task (Caching Framework)

Falls das Caching Framework zum Einsatz kommt, sollte auf jeden Fall die 
Scheduler Task zur Garbage Collection aktiviert werden und einmal am Tag (bzw. 
idealerweise in der Nacht) ausgeführt werden.

---------------------------------------------

*) tt_news XML Caching aktivieren

plugin.tt_news.displayXML.xmlCaching = 1

---------------------------------------------

*) rel="nofollow"

In Kalender-Extensions rel="nofollow" zum Link hinzufügen, damit der Cache 
nicht unnötigerweise vollgestopft wird.

---------------------------------------------

*) Böse und unnötige Bots aussperren

Über die Datei robots.txt können Bots, die sich nicht an die Anweisungen aus 
robots.txt halten, ausgesperrt werden.

User-agent: BLP_bbot/0.1
Disallow: /

Finden kann man solche Bots, wenn man das Access Log entsprechend filtert:
tail -f access_log | grep bot | grep -viE 'Googlebot|bingbot'

---------------------------------------------

*) Frequenz von GoogleBot anpassen

Das der GoogleBot für ziemlich viel Traffic sorgen kann, ist es ratsam, die 
Besuchsfrequenz über die Google Webmaster-Tools anzupassen.

---------------------------------------------

*) Analyse Werkzeuge

Um die Geschwindigkeit einer Webseite festzustellen und eventuell Vorschläge 
zur Verbesserung zu machen, gibt es einige Werkzeuge:

YSlow (auch als FireFox-AddOn)
PageSpeed (auch als FireFox-AddOn)
www.gtmetrix.com

---------------------------------------------

*) RealUrl Cache löschen

Um den RealUrl Cache gleichzeitig mit dem Seitencache zu löschen, muss 
folgender Code in die localconf.php eingetragen werden.

// Begin: RealURL Cache
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urldecodecache']
 = 'tx_realurl_urldecodecache';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urlencodecache']
 = 'tx_realurl_urlencodecache';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_pathcache']
 = 'tx_realurl_pathcache';
// End: RealURL Cache

---------------------------------------------

*) Sparsam sein mit TypoScript-Conditions

Conditions können sehr viele Cache-Einträge erzeugen, womit die Cache-Hit-Ratio 
sinkt.

---------------------------------------------

*) Linux Speicherkapazität abfragen

Große Dateien finden: ls -lahS $(find /var/www/vhosts/computerwelt.at/httpdocs/ 
 -type f -size +5000k)

verfügbaren Festplattenspeicher ermitteln: df -h

Arbeitsspeicher anzeigen: free -m

---------------------------------------------


Gruß,
Stefan
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an