Hallo,
ich bin gerade dabei eine größere Internet Seite auf zu bauen. Dabei sollen auch teilweise neue Extensions entwickelt werden. Bis jetzt höre ich immer wieder über Performance Nachteile bei TYPO3. Teilweise wundern mich diese Aussagen denn irgendwie muß es doch funktionieren wenn es solche Beispiele gibt wie TVMovie.de, fahrrad.de oder schalke04.de.
Gibt es bei der Performance unterschiede zwischen den TYPO3 Versionen 4.1 und 4.2?
Außer das übliche vorgehen wie auf den TYPO3 Seiten beschrieben und Anwendung von Staticfilecache gibt es noch andere bzw. zusätzliche Möglichkeiten?
Kann jemand etwas dazu sagen.
Vielen Dank vorab
T3RMINATOR
Hallo,
nun solche Seiten als Vergleich sind vielleicht nicht ganz ideal.. da sind schon die richtigen Leute + Hardware dahinter.
mit filecache und den vorausgesetzten gecachten inhalt solltest du schon ziemlich weit kommen. interessanter wirds ja wenn das nicht mehr der fall ist
georg
Danke.
Hast Du irgendeine Prozentzahl parat um wieviel Du die Performance steigen konntest?
Grüße
T3RMINATOR
T3RMINATOR schrieb
Hast Du irgendeine Prozentzahl parat um wieviel Du die Performance steigen konntest?
pauschal kann man das ja nicht sagen. auch leg dir mal die ff erweiterung yslow zu, dir hilft auch einiges
georg
So eben gefunden. Ich würde mal sagen ein wirkich guter Artikel.
http://typofree.org/articles/optimizing-typo3-backend-responsiveness/
T3RMINATOR
Du kannst auch an Linux selbst viel drehen. Z.b TCP/IP Parameter, TC, Harddisk. Das bringt zwar nicht soooo viel, aber besser als gar nichts. 🙂
Das ist richtig und da gebe ich Dir Recht. Es gibt zwei Wege. Eines ist die Software und das andere ist die Hardware. Beides sollte optimiert sein.
Hoffe auf weitere Beiträge.
T3RMINATOR
Hier mal ein einfaches Beispiel für HTB. Das besondere an diesem Beispiel ist die root qdisc die mit viel Fantasie wie ein Huffman-Baum (diese berühmt-berüchtigten Kompressionalgorithmen) konstruiert ist, oder auch einem umgedrehtem Stammbaum ähnelt. Das I Ging hat damit irgendwie auch zu tun.
Mit tc kann man den HTB bei der Arbeit zu schauen.
tc -s -d class show dev eth0
#!/bin/sh
SYSLOG "# --------- [ Hierachical token bucket ] -------------- #"
I=/usr/sbin/iptables
# Cleaning
$I -t mangle -F PREROUTING
$I -t mangle -F POSTROUTING
TC=/usr/sbin/tc
# rateup
RATEUP=`/usr/sbin/nvram get rateup | awk 'BEGIN{FS="=";}{print $2;}'`
QUANTUM=`/usr/sbin/nvram get quantum | awk 'BEGIN{FS="=";}{print $2;}'`
PRICE=`/usr/sbin/nvram get price | awk 'BEGIN{FS="=";}{print $2;}'`
# Rate
#
let FAIR1=60*$RATEUP/100
let FAIR2=40*$RATEUP/100
let FAIR3=60*$RATEUP/2/100
let FAIR4=40*$RATEUP/2/100
# Ceil
#
let CFAIR1=100*$RATEUP/100
let CFAIR2=100*$RATEUP/100
let CFAIR3=100*$RATEUP/100
let CFAIR4=100*$RATEUP/100
# Quantum
#
let QUANTUM1=60*$QUANTUM/100
let QUANTUM2=40*$QUANTUM/100
let QUANTUM3=60*$QUANTUM/2/100
let QUANTUM4=40*$QUANTUM/2/100
# Burst
BURST1="8kbit"
BURST2="8kbit"
BURST3="8kbit"
BURST4="8kbit"
# cburst
CBURST1="8kbit"
CBURST2="8kbit"
CBURST3="8kbit"
CBURST4="8kbit"
# 1: root qdisc
# |
# 1:1
# / \
# / \
# / \
# / \
# 1:10 1:20
# | |
# qdisc |
# |
# 20 qdisc
# / \
# / \
# 1:30 1:40
# | |
# qdisc qdisc
#
### del root qdisc
$TC qdisc del dev ppp0 root
### root qdisc ###
$TC qdisc add dev ppp0 root handle 1: htb r2q 10 default 30
## Wir aktivieren die Queueing DISCipline für ppp0 Device, die
## auf Klasse 1, Handle 10 (1:10) default-mäßig zeigt
$TC class add dev ppp0 parent 1: classid 1:1 htb rate ${RATEUP}kbit
## Nun richten wir die Standart Klasse ein (der linken Ast) mit der höchsten Priorität (1) die hat aber nicht so viel Durchsatz
$TC class add dev ppp0 parent 1:1 classid 1:10 htb rate ${FAIR1}kbit ceil ${CFAIR1}kbit quantum $QUANTUM1 burst $BURST1 cburst $CBURST1 prio 1 mtu 1492
## Die Warteschlange für den linken Ast bzw. neuer handle
#$TC qdisc add dev ppp0 parent 1:10 handle 10: sfq perturb 10
$TC qdisc add dev ppp0 parent 1:10 handle 10: pfifo limit 64
## Nun richten wir den rechten Ast, keine prio, weil wieder ein root-ast!!!
$TC class add dev ppp0 parent 1:1 classid 1:20 htb rate ${FAIR2}kbit ceil ${CFAIR2}kbit quantum $QUANTUM2 burst $BURST2 cburst $CBURST2 mtu 1492
## Die Warteschlange für den rechten Ast
#$TC qdisc add dev ppp0 parent 1:20 handle 20: sfq perturb 10
$TC qdisc add dev ppp0 parent 1:20 handle 20: pfifo limit 64
## Nun richten wir das linke Blatt (von Ast 1:20) ein. Diesmal prio 2
$TC class add dev ppp0 parent 1:20 classid 1:30 htb rate ${FAIR3}kbit ceil ${CFAIR3}kbit quantum $QUANTUM3 burst $BURST3 cburst $CBURST3 prio 2 mtu 1492
## Die Warteschlange für das linke Blatt
#$TC qdisc add dev ppp0 parent 1:30 handle 30: sfq perturb 10
$TC qdisc add dev ppp0 parent 1:30 handle 30: pfifo limit 64
## Jetzt das rechte Blatt
$TC class add dev ppp0 parent 1:20 classid 1:40 htb rate ${FAIR4}kbit ceil ${CFAIR4}kbit quantum $QUANTUM4 burst $BURST4 cburst $CBURST4 prio 3 mtu 1492
## Die Warteschlange für das rechte Blatt
#$TC qdisc add dev ppp0 parent 1:40 handle 40: sfq perturb 10
$TC qdisc add dev ppp0 parent 1:40 handle 40: pfifo limit 64
## und die Filtereinstellung
$TC filter add dev ppp0 protocol ip parent 1:0 prio 1 handle 10 fw flowid 1:10
$TC filter add dev ppp0 protocol ip parent 1:0 prio 2 handle 20 fw flowid 1:20
$TC filter add dev ppp0 protocol ip parent 1:0 prio 3 handle 30 fw flowid 1:30
$TC filter add dev ppp0 protocol ip parent 1:0 prio 4 handle 40 fw flowid 1:40