Multithreading allows operations to execute in parallel if the target hardware platform supports multiple CPUs. This technique allows also to interleave data transfer with program execution and thus mask network latencies[CKP$^$96,JFL98,Sch98]. Multithreading offers a more comfortable programming paradigm than forking processes, as all threads can share the off-stack memory of the program[Bir89]. Each thread executes on a separate call stack with its own local variables. Threads are a light weight concept that spare the operating system several time consuming management operations. Their creation time is for example much smaller than that of UNIX like processes. Although the concept invites the application of ad hoc implementations of concurrent servers, it hosts a variety of possible pitfalls. As with every parallel program that has to share resources, synchronisation has to take place. These operations will decrease the degree of parallelism that is gained by multiple threads. Another source of overhead is thread creation. Although spawning a thread is 10 [TRG$^$87] to 100 times [GLC99] faster than the creation of a full process in a modern UNIX operating system, performance can suffer significantly if it is performed extensively and uncontrolled. Switching between threads is not a very time consuming operation either, but in the case of many threads it can have an impact on the system´s performance. Every time a thread becomes scheduled to the CPU it has to determine if the resource it is waiting for is already free. If this condition is not true it will yield the processor to another thread. Confronted with a large number of threads the condition will be false for a substantial number of scheduling attempts and the system will loose valuable processor time to context switching related actions. These effects have been seen in real-world applications such a multithreaded Web server architectures[FGC$^$97] as well as isolated configurations for performance measurements[JFL98]. Several architectures for multithreaded servers have already been proposed[Sch98]. Out of these we investigate two and have a closer look at their performance to get an impression of how big the effect in choosing a multithreaded architecture can be. Before we report on the obtained results we give an overview of the existing approaches and classify them according to the AlSyMe-tric.