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