For the impatient, here's a quick overview about what we did to gain performance. The recommendations are based on our server setup, using the TYPO3 Quickstart package. For more details, have a look into the following chapters. Notice that we do not reveal any secret magic performance tricks, sorry.
Linux kernel
Install the latest and greatest 2.6 kernel
Install a libc6 with Native Posix Thread Library support (NPTL).
MySQL
Add or modify some of the following options in my.cnf:
Disable bin log
log-bin
Switch on and increase query_cache
query_cache_limit = 2M # default was 1M
query_cache_size = 64M # default was 0
query_cache_type = 1
Increase table_cache
table_cache = 256 # default was 64
Increase key_buffer
key_buffer_size = 64M # default was 8M
Apache
Adapt MaxClients to find a balance between performance and server capacity, a conservative start value is 32.
disable excessive logging
LogLevel warn
Disable DNS lookups, your log file analyser can do this afterwards
HostNameLookups off
PHP
Install eAccelerator using the following minimal configuration for one(!) average website (in our case, the Quickstart package):
eaccelerator.shm_size="32"
eaccelerator.enable=1
TYPO3
If you are hosting more than one site, use the same source directory for all sites.
Make as many pages cacheable as possible.
Watch out for performance killer extensions from TER by constantly testing their impact on performance.