We have identified three performance problems that occur due to interactions between specific implementations of TCP and P-HTTP. We have demonstrated that two of these interactions can result in P-HTTP performance 20 times slower than possible for hosts on a directly connected, 10 Mb/s Ethernet, and that the third can substantially reduce the performance benefits of P-HTTP.
Although our observations of these interactions are specific to BSD-derived TCPs and the first two are specific to the Apache HTTP server, these implementations are widely used. To avoid similar situations in other implementations, developers must be aware of these interactions. We have suggested solutions to each of the problems, and implemented solutions to the first two problems, demonstrating that these solutions bring Apache P-HTTP performance in line with expectations.