accelerating nginx web server performance
TRANSCRIPT
![Page 1: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/1.jpg)
2015 | 1 Copyright © 2015 Solarflare Communications, Inc. All rights reserved
Solarflare Makes the Web Faster:Nginx Acceleration with Solarflare OpenOnload and Flareon 10GbE and 40GbE Server Adapters
Bruce TolleyVice President, Technical and
Solutions Marketing, Solarflare
Nginx User Summit, San Francisco
![Page 2: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/2.jpg)
2015 | 2Solarflare Public
Executive Summary: Solarflare with OpenOnload Increases Nginx Performance 3X
• Solarflare OpenOnload increases Nginx performance 3X over Intel, achieving 10Gbps line rate with only 2 cores, Intel needs 6 cores
• The Solarflare Flareon SFN7002 server adapter with Solarflare OpenOnload® can deliver up to a 120% increase in Nginx application performance versus Intel X710
• Solarflare Flareon 7142Q 40 GbE Server Adapter is able to scale Nginx performance significantly, achieving nearly 40 Gbps line rate
• Solarflare OpenOnload high-performance, open-source, user-level networking stack enables the Nginx application to achieve higher performance
• Bypasses the operating system’s kernel and leverages the advanced functionality of Solarflare server adapters
• At both 10 GbE and 40 GbE, Nginx performance is only limited by the bandwidth of the link
![Page 3: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/3.jpg)
2015 | 3Solarflare Public
Scope of the Performance Testing
• All data is from tests of short lived, static connections – no long lived connections (e.g. not IP video streaming)
• Kernel testing: Nginx, Intel vs. Solarflare• Onload testing: Nginx, Intel vs. Solarflare
![Page 4: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/4.jpg)
2015 | 4Solarflare Public
Solarflare Nginx Performance Testing Setup
LANswitch
Haswell server running nginx
‘AB’ load generator
#1‘AB’ load generator
#2
‘AB’ load generator
#12
…
12x client load generators
10Gbs
10Gbs
10Gbs
10 or 40Gbs
2.4GHz 2 x 6CPU core with hyper
threadingRHEL 6
AB ‘Apache bench‘ clients
Measured goodput in transactions per sec
Different system under test than Slide 6
![Page 5: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/5.jpg)
2015 | 5Solarflare Public
What is OpenOnload
• Linux-based, open-source, high-performance application accelerator that delivers low latency and improves application scalability
• Presents to the Nginx application a standard BSD sockets API• Requires no modification to the Nginx application for its use• Achieves performance improvements in part by performing network
processing at user-level, bypassing the OS kernel entirely on the data path (other improvements on slide 11)
• Application and network performance is improved without sacrificing the security and multiplexing functions that the OS kernel normally provides
• Experiments described use OpenOnload 201502-u1
![Page 6: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/6.jpg)
2015 | 6Solarflare Public
Improvements to Onload
• Userspace TCP stack• Avoids system call overheads
• OpenOnload SO_REUSEPORT HW assisted• Avoids lock contention, enabling far superior
scaling when compared to Kernel TCP SO_REUSEPORT implementation
• Connection endpoint caching/socket caching• Avoids further system call overheads
![Page 7: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/7.jpg)
2015 | 7Solarflare Public
Solarflare SFN7002 3X More Efficient than Intel X710
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
![Page 8: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/8.jpg)
2015 | 8Solarflare Public
Line Rate 9 Gbps Nginx Performance with SolarflareOnly Limited by the Bandwidth of the 10GbE Link
1 2 3 4 5 6 8 10 120
1
2
3
4
5
6
7
8
9
10
10 Gbps Response Bandwidth (x axis cores, y axis Gbps)
sfn7002f-Onload sfn7002f-kernel x710-kernel
![Page 9: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/9.jpg)
2015 | 9Solarflare Public
At 40GbE with SolarflareNginx Performance Still Only Limited by Bandwidth of the Link
1 2 3 4 5 6 8 10 120
50000
100000
150000
200000
250000
300000
350000
400000
450000
500000
40Gbps Connections (x axis cores, y axis connection/s)
sfn7142q-Onload sfn7142q-kernel
![Page 10: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/10.jpg)
2015 | 10Solarflare Public
Solarflare Delivers 3X Better Nginx Performance than Intel X710
• Solarflare SFN7002 with OpenOnload is three times more efficient than the Intel X710 in its use of precious and expensive server CPU resources
• Achieve maximum 10Gbps line rate performance with OpenOnload and two of cores, performance that takes six cores to achieve with Intel X710
• At 10GbE in terms of connections per second an industry standard server with a given CPU resource allocation running Nginx can achieve up 2X the throughput of the Intel X710
• Moreover, the SFN7002 can saturate a 10 GbE link with two cores while the SFN7142Q adapter can saturate a 40GbE link with 10,000 byte payload requests and the use of 10 cores
• Bottom line: Nginx applications running with Solarflare have more CPU resources available that can be used for other applications or to scale to higher transaction rates per server, thus lowering operating costs
![Page 11: Accelerating Nginx Web Server Performance](https://reader036.vdocument.in/reader036/viewer/2022073118/55b395bcbb61eb967a8b460c/html5/thumbnails/11.jpg)
2015 | 11Solarflare Public
END