feat(docs): Add Methodology
[csit.git] / docs / content / methodology / hoststack_testing / vsap_ab_with_nginx.md
1 ---
2 bookToc: false
3 title: "VSAP ab with nginx"
4 weight: 4
5 ---
6
7 # VSAP ab with nginx
8
9 [VSAP (VPP Stack Acceleration Project)](https://wiki.fd.io/view/VSAP)
10 aims to establish an industry user space application ecosystem based on
11 the VPP hoststack.  As a pre-requisite to adapting open source applications
12 using VPP Communications Library to accelerate performance, the VSAP team
13 has introduced baseline tests utilizing the LD_PRELOAD mechanism to capture
14 baseline performance data.
15
16 [AB (Apache HTTP server benchmarking tool)](https://httpd.apache.org/docs/2.4/programs/ab.html)
17 is used for measuring the maximum connections-per-second and requests-per-second.
18
19 [NGINX](https://www.nginx.com) is a popular open source HTTP server
20 application.  Because NGINX utilizes the POSIX socket interface APIs, the test
21 configuration uses the LD_PRELOAD mechanism to connect NGINX to the VPP
22 Hoststack using the VPP Communications Library (VCL) LD_PRELOAD library
23 (libvcl_ldpreload.so).
24
25 In the future, a version of NGINX which has been modified to
26 directly use the VCL application APIs will be added to determine the
27 difference in performance of 'VCL Native' applications versus utilizing
28 LD_PRELOAD which inherently has more overhead and other limitations.
29
30 The test configuration is as follows:
31
32            TG     Network         DUT
33          [ AB ]=============[ VPP -> nginx ]
34
35 where,
36
37 1. nginx attaches to VPP and listens on TCP port 80
38 2. ab runs CPS and RPS tests with packets flowing from the Test Generator node,
39    across 100G NICs, through VPP hoststack to NGINX.
40 3. At the end of the tests, the results are reported by AB.