soyMAIL 2.1.0 requires JavaScript
soyMAIL @ wasd.vsm.com.au
       info-WASD Mailing List 2023 

Sun 11:50:33 Message "2023 / 0054" opened.  MIME.  6 kbytes.    JavaScript

Subject:[Info-WASD] WASD/Apache benchmark on X860054 / 0000
From:Mark.Daniel@wasd.vsm.com.au
Reply-to:info-wasd@vsm.com.au
Date:Wed, 29 Mar 2023 15:07:25 +1030  [29-MAR-2023 15:07]
To:info-WASD@vsm.com.au

TL;DR ... well you miss out then.

With the advent of a native C compiler for X86 and the recent release of CSWS
for V9.2 (Apache 2.4.54 OpenSSL/3.0.7) it has become a worthwhile activity to
update the earlier v11.5 performance comparison.

This is the same platform previously reported on:

  Dell Optiplex 9020 4 core i7 3.4Ghz 16GB Win 10 Pro 22H2
  innotek GmbH VirtualBox with 2 CPU and 7574MB running VMS V9.2
  Approximate System VUPs Rating : 284.4 ( min: 281.4 max: 286.6 )
  VSI TCP/IP Services for OpenVMS x86_64 Version X6.0

While not the fastest kid on the block, as with previous benchmarks, these
are intended as relative not absolute comparisons.

The h2load utility is running on 6 core Intel Core i7 3.2 GHz 16GB Mac Mini,
across a 1Gbps LAN to the Dell, and not even breaking a sweat.

The performance documentation on the VSM site has been updated.

  https://wasd.vsm.com.au/wasd_root/wasdoc/features/#serverperformance

What follows are a brief synopsis and commentary.


Simple File Request Turn-Around
===============================
It's fair to say WASD responsiveness is an order of magnitude greater than
CSWS.  With 0k size response it's really just [connection -->
internal-processing --> file-access --> response] with 104 being less than
10% of 1409.  In fact, the h2load utility maintains connection persistence
between HTTP/1.1 requests, so the network connection setup is generally only
a factor for the first of many, with most being due to [internal-processing
--> file-access --> response].

            HTTP/1.1 clear - Concurrency 1
            ----------------------------------
            Requests/Second   Data Rate MBps
            ~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~
  Response  WASD    Apache    WASD     Apache
  0k        1409    104       0.465    0.026
  64k        124     78       7.59     4.8

With 10 requests being processed concurrently the margin expands.

            HTTP/1.1 clear - Concurrency 10
            ----------------------------------
            Requests/Second   Data Rate MBps
            ~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~
  Response  WASD    Apache    WASD     Apache
  0k        205     12.5       0.674   0.032
  64k        29      8.0      17.9     5.0

With SSL/TLS encryption a factor the relativities really do not move much.

            HTTP/1.1 encrypted - Concurrency 1
            ----------------------------------
            Requests/Second   Data Rate MBps
            ~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~
  Response  WASD    Apache    WASD     Apache
  0k        869     91        0.319    0.023
  64k       116     59        7.14     3.6

            HTTP/1.1 encrypted - Concurrency 10
            -----------------------------------
            Requests/Second   Data Rate MBps
            ~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~
  Response  WASD    Apache    WASD     Apache
  0k        606     135       0.223    0.034
  64k        97      79       5.95     4.83

With all measurements of a 64kB payload the total transaction durations
become greater, and therefore requests per second is way lower, but then
transmission time has become dominant. 

              
File Transfer Rate
==================
Requests for a large binary file (SYS$COMMON:[SYSEXE]TCPIP$NSUPDATE.EXE
5.69MB - 11673 blocks) indicate a potential transfer rate of multiple tens of
Mbytes per second.  Again, data transmission dominates these requests.

                 Data Rate - MBytes/Second
                 -------------------------------
                 Concurrent  WASD      Apache
                 ~~~~~~~~~~  ~~~~~~~~  ~~~~~~~~~
  HTTP/1.1        1          33.71     20.54
   (clear)       10          35.51     32.61
  HTTP/1.1        1          11.03      9.16
   (encrypted)   10          11.82     12.25


Scripting
=========
WASD has always had an effective and efficient CGI interface.  CGIplus
multiplies that without really needing to grapple with another technology. 
The Apache module replicates the CGIplus test with a loadable module
executing without the overhead of Apache CGI, with a persistence similar to
CGIplus.

                 Concurrency 1 - Requests/Second
                 -------------------------------
  Response    WASD CGI     WASD CGIplus   Apache CGI    Apache module
  ~~~~~~~~    ~~~~~~~~~~   ~~~~~~~~~~~~   ~~~~~~~~~~~   ~~~~~~~~~~~~~
  0kB         19           143            7             77
  64kB        12            18            6             45

                 Concurrency 10 - Requests/Second
                 --------------------------------
  Response    WASD CGI     WASD CGIplus   Apache CGI    Apache module
  ~~~~~~~~    ~~~~~~~~~~   ~~~~~~~~~~~~   ~~~~~~~~~~~   ~~~~~~~~~~~~~
  0kB         28           337            10             51
  64kB        22            65             9             73


Documentation
=============
Shell scripts used and result files are available from the updated VSM site.

  https://wasd.vsm.com.au/wasd_root/wasdoc/features/#serverperformance

This item is one of a collection at
https://wasd.vsm.com.au/other/#occasional

  ¤¤¤       
  ¤¤¤