1 / 26

Performance Issues in WWW Servers

Performance Issues in WWW Servers. Erich Nahum, Tsipora Barzilai, Dilip D. Kandlur IEEE/ACM Transactions on Networking, Vol. 10, No.1, Feb, 2002. Presented By Kunhao Zhou. Motivation. Problems of WWW Overloaded server Congestion in network Poorly-behaved client

chava
Télécharger la présentation

Performance Issues in WWW Servers

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 Servers Erich Nahum, Tsipora Barzilai, Dilip D. Kandlur IEEE/ACM Transactions on Networking, Vol. 10, No.1, Feb, 2002 Presented By Kunhao Zhou

  2. Motivation • Problems of WWW • Overloaded server • Congestion in network • Poorly-behaved client • Why we need improvement? • Customer satisfaction • Save money$$$ • …

  3. Outline • Overview • WWW transactions • WWW optimizations • Tests • Conclusion

  4. Overview • New socket functions • acceptex(), transmitfile() in NT, send_file() in HPUX • Per-byte optimizations • Zero-copy(eliminating copies), eliminating checksums • Per-connection optimizations • Piggybacking FIN’s • Delaying ACK

  5. Outline • Overview • WWW transactions • WWW optimizations • Tests • Conclusion

  6. WWW Transactions Each transaction in WWW server include: 1. accept() new connection 2. getsockname() get peer name 3. read() the HTTP request 4. setsockopt() disable the Nagle algorithm 5. gettimeofday() determine the time 6. Parse the request 7. stat() obtain file status

  7. WWW Transactions (cont.) 8. open() the requested file 9. read() file descriptor 10. write() socket to send HTTP header 11. write() socket to send file 12. close() file 13. close() socket 14. write() log file

  8. Outline • Overview • WWW transactions • WWW optimizations • Tests • Conclusion

  9. WWW Optimizations

  10. Outline • Overview • WWW transactions • WWW optimizations • Tests • Test-bed • Proposed socket function • Per-byte optimizations • Per-connection optimizations • Conclusion

  11. Experiment Test-bed • Hardware • IBM 43P RS/6000 with 128MB RAM, 200-MHz PowerPC 604e processor, 4-100mb Ethernet network cards. 1 Server, 3 clients. • OS • AIX 4.3.1 • Web Server • Flash-Poll

  12. Proposed Socket Functions • acceptex() Minor improvement!

  13. Proposed Socket Functions • send_file() (single_copy) Performance degraded!

  14. Per-Byte Optimizations • Zero-copy send_file() • Cache mbuf • If files are in cache, send the cache • Separate buffer management from VM • Eliminate checksum. • AIX feature

  15. Per-Byte Optimizations • Zero-copy Improved a lot!

  16. Per-Byte Optimizations • Eliminate checksum Improved!

  17. Per-Connection Optimizations FIN can be sent earlier

  18. Per-Connection Optimizations • Combine the FIN With data. • send_file() offers a close option • Add option PRU_SEND_DISCONNECT to pru_usrreq(), allowing TCP layer send and close in one function call • Save one packet transfer

  19. Per-Connection Optimizations • Combine the FIN with data Throughput HTTP ops/sec Small transfer improved!

  20. Per-Connection Optimizations ACK can be delayed

  21. Per-Connection Optimizations • TCP cumulative ACK • Change tcp_input()

  22. Per-Connection Optimizations • Delay ACK Small transfer improved!

  23. Total Performance Increase Considerable improvement!

  24. Outline • Overview • WWW transactions • WWW optimizations • Experiments • Conclusion

  25. Conclusion • New socket functions • Little increase • Per-byte optimizations • Big improvement • Per-connection optimizations • Big improvement • These features were implemented in AIX 4.3.2

  26. Thank You!

More Related