nginx performance 2015 09 23
TRANSCRIPT
January 5th 2015 | 1 Copyright © 2015 Solarflare Communications, Inc. All rights reserved.
Making the Web Faster with User Level Networking:
2X Performance Increase for Video on Demand, Load Balancing, Web Content
Bruce Tolley, PhD23 Sept 2015
Nginx ConferenceSan Francisco, CA
January 5th 2015 | 2
Introducing Solarflare - Who We Are• High-performance 10 and
40GbE software and server adapters
• Power the networks at all the banks and exchanges
• Partner with NGINX, Arista, Cisco, Red Hat, Juniper
• OEM with Dell, HP, Lenovo. Partner with Ciara, Quanta, SuperMicro
• Over 1400 customers worldwide• Deployed at CloudFlare,
Digital Ocean, LeaseWeb and more
• Trials and POCs @ in US, Europe, China
January 5th 2015 | 4
How We Do It--User Level Networking: OpenOnload
• Accelerates BSD sockets• TCP/IP, UDP and multicast
• Bypasses the kernel stack• Increases throughput• Integrates with existing
infrastructure• Binary compatible with standard
APIs• TCP/IP and UDP on the wire • Open Source. Bare metal, VM,
container• Added support for enhanced
socket caching. SO_REUSEPORT
January 5th 2015 | 5
Solarflare Tools, Libraries, and Interfaces for Dev Teams
• EF-VI EtherFabric Virtual Interface• Bare, Layer 2 interface for applications in user space.
Similar to DPDK• Future: DPDK
• SolarCapture FDK (firmware development kit)• Standards-based interfaces (libpcap) and libraries for
home- brewed capture and security applications• OpenOnload
• High-performance, Open-Source, Linux-friendly stack that dramatically reduces latency and CPU utilization
• IETF RFC compliance. Hardened. Running in 10s of 1000s of nodes: NYSE, NASDAQ
January 5th 2015 | 6
Onload Architecture and Two New Features to Support Nginx Acceleration
• Network processing at user-level, bypassing the OS kernel• Frees up expensive CPU resources
• New support of the SO_REUSEPORT socket option that allows multiple TCP listening sockets to bind to the same IP address and port• increases application scalability• Higher SO_REUSEPORT performance than the Linux stack
because Onload eliminates lock contention via load balancing• Socket caching, avoids the overhead of additional system calls
• improves performance when connections are short-lived
January 5th 2015 | 7
NGINX Performance: Short Lived Connections- Web Traffic – 10GbE
1 2 3 4 5 6 8 10 120
20000
40000
60000
80000
100000
120000
10 Gbps Connections (x axis cores, y axis connection/s)
sfn7002f-Onload sfn7002f-kernel x710-kernel
Solarflare SFN7002 3X More Efficient than Intel X710xx
Line Rate @ 9 GbpsMax Performance Only Limited by the Bandwidth of the 10GbE Link
January 5th 2015 | 8
NGINX VOD Performance-- Long Lived Connections– 40GbE and 2X10GbE
1 2 3 4 5 6 7 80
10,00020,00030,00040,000
Nginx Performance 40GbE
SFN7002 OnloadIntel XL710
Core
s
Conn
necti
ons (
max
.)
1 2 3 4 5 6 5,000
10,000
15,000
20,000
Nginx Performance 2X10GbE
SFN7002 OnloadIntel X710
Core
s
Conn
ectio
ns (M
ax)
Solarflare: max performance with just two cores. 18K simultaneous connections. Intel: needs three cores to fill up the link
Solarflare: maximum performance with 3 cores. Intel: 4 to 5 coresSolarflare 1.67 times more efficient than Intel
January 5th 2015 | 9
What Other Efficiencies Can Be Found
• Power measured using the Dell iDRAC on Dell R610 Server• Idle power same: Intel x710 vs Solarflare SFN7002 @ 70w• 2X more power efficient than Intel
January 5th 2015 | 10
NGINX Load Balancer Performance Improvements
1 2 3 4 5 6 70
1020304050
100K Byte
i40eSFN7142q
Cores
Connections/Sec (000s)
1 2 3 4 5 6 7 80
100
200
300
400
1K Byte
i40eSFN7142q
Cores
Connections/Sec (000s)
1 2 3 4 5 6 70
50100150200250300
10K Byte
i40eSFN7142q
Cores
Connections/Sec (000s)
January 5th 2015 | 11
Summary NGINX Performance with Solarflare
• Bottom line: Solarflare delivers NGINX acceleration and significant reductions in CPU utilization
• For Web traffic (short-lived HTTP connections)• For Video on Demand traffic (long-lived HTTP
connections)• Also Nginx Load Balancer• 3 to 4X higher performance than Intel
• Power Efficiency• 2X More power efficient than Intel
January 5th 2015 | 12
Where to Get More Information
• Introduction to OpenOnload• https://support.solarflare.com
• Solarflare and CloudFlare Build a Faster, Safer, More Secure Web• http://www.solarflare.com/Content/UserFiles/Documents/
Solarflare_CloudFlare_CaseStudy.pdf• Improving Web Server Performance
• http://www.solarflare.com/Accelerating-Web-CDN-Applications• Accelerating the VOD Work Flow
• http://www.solarflare.com/Content/UserFiles/Documents/RTL_HD_Live_to_VOD_and_Playout_Automated_Workflow.pdf
• Solarflare+RTL Webinar • https://www.brighttalk.com/webcast/11615/141217
• “How to achieve Low Latency with 10Gbps”• https://blog.cloudflare.com/author/marek-majkowski/