Performance optimization for transparent fault-tolerant Web service
Navid Aghdaie, Yuval Tamir · 2004
Reliable Web service requires the ability to complete transactions that are in progress when a Web server fails. We have previously presented a client-transparent scheme, based on a standby backup and logging, for providing such fault-tolerant Web service. The scheme does not require deterministic servers and can thus properly handle dynamic content. This paper presents two performance optimizations that significantly reduce the overhead of the scheme. For dynamic content, distributing the primary and backup tasks among the servers increases the throughput of a server cluster. For static content, that is deterministic and readily generated, avoiding explicit logging of replies to the backup reduces the overhead. Our implementation is based on special modules in the Linux kernel and the Apache Web server. We discuss implementation issues and present overhead measurements in terms of latency, throughput, and CPU cycles.