1 / 19

2000.11.14 Chul Lee

Performance Issues in WWW Servers Erich Nahum, Tsipora Barzilai, and Dilip Kandlur IBM T.J Watson Research Center SIGMETRICS Feb. 1999. 2000.11.14 Chul Lee. Contents. Introduction Background Experimental Setup/Testbed Evaluation Result Conclusion and Critique. Introduction.

gladys
Download Presentation

2000.11.14 Chul Lee

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Performance Issues in WWW ServersErich Nahum, Tsipora Barzilai, and Dilip KandlurIBM T.J Watson Research CenterSIGMETRICS Feb. 1999 2000.11.14 Chul Lee KAIST CORE LAB. Chul Lee

  2. Contents • Introduction • Background • Experimental Setup/Testbed • Evaluation Result • Conclusion and Critique KAIST CORE LAB. Chul Lee

  3. Introduction • Performance issues in WWW server on UNIX-style platforms • Issues • new socket function • per-byte optimizations • per-connection optimizations KAIST CORE LAB. Chul Lee

  4. Background KAIST CORE LAB. Chul Lee

  5. Experimental Setup/Testbed • Hardware • 4 IBM 3P RS/6000 (128MB of RAM and 200MHz PowerPC604e) • 100 mbps ethernet • Workload Generator • WebStone as a microbenchmark • SURGE as a macrobenchmark KAIST CORE LAB. Chul Lee

  6. KAIST CORE LAB. Chul Lee

  7. Experimental Setup/Testbed • OS • AIX 4.3.1 with several modifications • Web server software • Flash POLL • Single threaded event-driven server • Fastest, well optimized, exploit almost all optimization • Use poll() rather than select() KAIST CORE LAB. Chul Lee

  8. WebStone benchmark Throughput in operation/sec KAIST CORE LAB. Chul Lee

  9. Evaluation Result • proposed socket function • acceptex() • Combines accept(),getsockname(),recv() • send_file() over mmap()/writev() • send_file() copy data from the file system • mmap()/writev() copy data from user space • send_file() perform poorly KAIST CORE LAB. Chul Lee

  10. Evaluation Result Throughput in HTTP ops/sec Throughput in HTTP ops/sec KAIST CORE LAB. Chul Lee

  11. Evaluation Result • Per-Byte Optimization • send_file() with mbuf cache • a close approximation of a zero-copy • Disabling the internet checksum • certain network interface support • Host CPU does not touch the data at all KAIST CORE LAB. Chul Lee

  12. Evaluation Result Throughput in HTTP ops/sec Throughput in HTTP ops/sec KAIST CORE LAB. Chul Lee

  13. Evaluation Result • Per-Connection Optimization • send_file() with close() • Piggybacking the FIN • Delaying ACK of FIN • Delaying ACK of SYN-ACK KAIST CORE LAB. Chul Lee

  14. KAIST CORE LAB. Chul Lee

  15. Evaluation Result KAIST CORE LAB. Chul Lee

  16. Evaluation Result KAIST CORE LAB. Chul Lee

  17. Evaluation Result • Overall performance with SURGE KAIST CORE LAB. Chul Lee

  18. Conclusion • new socket function • little increase in performance using acceptex() • per-byte optimizations • observed an increase in throughput up to 51% • per-connection optimizations • Raising server throughput by up to 20% • Aggregate benefits • Improved aggregate server performance by 25% KAIST CORE LAB. Chul Lee

  19. Conclusion • IBM’s AIX division released these features in AIX 4.3.2 • For future work, evaluation of these mechanisms with HTTP 1.1 workloads • Critique • Good observation/evaluation • Contributed to the newly released OS • Considered only throughput as a metric KAIST CORE LAB. Chul Lee

More Related