Improving http-server performance by adapted multithreading

10 years 7 months ago
Improving http-server performance by adapted multithreading
It is wellknown that http servers can be programmed easier by using multithreading, i.e. each connection is dealt with by a separate thread. It is also known, e.g. from massively parallel programming, that multithreading can be used to hide the long latency of a remote memory access. However, the two techniques do not readily complement each other because context switches do not necessarily occur when latencies would suggest them. We present an http server that combines these two features: as soon as an event with a longer latency is encountered, such as the server cannot send all data with one buffer, the context is switched. The implementation is based on the replacement of threads in the http library Indy by an own implementation that allows explicit context switch as in fibers. We benchmark our http server with the apache benchmark against the original thread-based implementation, with different file sizes and different load levels. We find that if the server's network connec...
Jörg Keller, Olaf Monien
Added 31 Oct 2010
Updated 31 Oct 2010
Type Conference
Year 2004
Where PDCN
Authors Jörg Keller, Olaf Monien
Comments (0)