- Abstract
- Introduction
- What is HTTP?
- What's Wrong with HTTP?
- Evaluation and Performance
- Requests per second (rps or HTTPops/sec)
- Throughput (bps) AKA bandwidth
- Round-Trip Time (RTT)
- Error rate
- How is Performance Measured?
- Benchmarking
- SGI WebStone 1.1 benchmark
- SPEC Webperf benchmark (in development)
- Web Server Optimization
- Use standalone server daemon - not inetd
- Use threads or process pools - not fork/exec
- Use APIs in lieu of CGIs or compile scripts
- Clusters of servers and a DNS distributor: A Scaleable Web Server
- A Hierarchical Internet Object Cache: Proxy servers
- Other Web Server Performance Considerations
- The HTTP Protocol
- How the Protocol Works
- Client opens connection and requests object
- Server services request and closes connection
- Illustration of HTTP request
- Sources of HTTP Latency
- Slow Start
- Solutions:
- Keep TCP connections open and reuse them: Keep-Alive
- Cluster requests into one HTTP exchange
- Binary encoding of headers instead of ASCII
- Extend methods and reduce CGIs
- Conclusion
- Server-side improvements are transparent
- Changes to protocol require rewriting software
- References