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