Profile & Optimize the Performance of a Web Proxy on a Multi Core Platform Eddie Beaumont, Estera Bogdan, Jen Dischler, Francisco Felix, & Scott Oehrlein
Network Topology
iMPACT Lab
Background Large files (3K - 7M) 100% proxy CPU utilization Small files ( < 3K) ~33% proxy CPU utilization “Performance Evaluation and Analysis of Web Transcoding Proxy Systems”, iMPACT Lab, Arizona State University
Problem Statement “Decrease the number of interrupts for received packets in order to increase throughput of the proxy.” Throughput = # of packets/second
Motivation Decreased interrupt requests = Increased throughput time IRQ1IRQ2 Non-NAPI NAPI
Approach Acquire initial data by testing throughput process as many packets as possible (fixed amount of time) Create pertinent graphs, equations, etc. required for analysis Download & install NAPI driver Re-run throughput tests with new driver settings Compare results with initial results VTune analysis before & after NAPI implementation
Analysis Connection Requests/SecInterrupts/Sec Before NAPI Implementation
Analysis Cont. Interrupts/sec Connection requests/sec
Conclusion With the NAPI driver, we expect the throughput to be increased due to the significant decrease in packet interrupts.
Work Distribution Eddie Data collection and analysis Estera Project management and data analysis Jen Presentation coordination and data analysis Francisco Data collection and analysis Scott Data collection and analysis
Questions?