Uploaded image for project: 'Red Hat Service Interconnect (Skupper)'
  1. Red Hat Service Interconnect (Skupper)
  2. SKUPPER-2601

Failure to Complete ApacheBench/NGINX Test

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • Router
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      The Test
      ----------------------------------------------

      This is an endurance test for a two-router network using ApacheBench and NGINX. ApacheBench makes HTTP requests for 1-megabyte images (through its router's TCP Listener). On the other end of the two-router chain, NGINX serves the images.

      The network looks like this:

         ApacheBench — Router_1 — Router_2 — NGINX

      ApacheBench allows different levels of 'concurrency' to be used. It is not multi-threaded. If the user requests a concurrency level of N, it just sends N requests one after the other, and then waits for all the responses.

      If they do not all arrive within 30 seconds (by default), the test times out.

       

       

      The Bug
      -----------------------------------------------------

      I ran a test in which ApacheBench, using a concurrency level of 10, requested 1 million images of 1 mb each through the two-router network. None of the five tests ran to completion.  All of them ended with a message similar to this:

        apr_pollset_poll: The timeout specified has expired (70007)
        Total of 242500 requests completed

      When I ran the same test, except with no routers in between ApacheBench and NGINX, all five iterations ran to completion.

       

       

      The Code
      -----------------------------------------------------

      I used Main code on both the Router and Proton as of a few days ago.

       

       

      The Setup
      -----------------------------------------------------

      The two router configuration files are attached.
      Also attached is my config file for NGINX, which I put in /etc/nginx/nginx.conf

      The image that got served was at:  /var/www/html/images/launch_1M.tif

      And the ApacheBench command that I used was:

        ab -n 1000000 -c 10 http://localhost:5801/images/launch_1M.tif

      For the version of the test with no routers involved, the ApacheBench command is:

        ab -n 1000000 -c 10 http://localhost/images/launch_1M.tif

      By the way, the image that I used was of a rocket launch.
      I have no idea what might happen if you show it an image of a rocket exploding!

       

       

       

        1. nginx.conf
          2 kB
        2. r1.conf
          0.4 kB
        3. r2.conf
          0.7 kB

              Unassigned Unassigned
              mgoulish@redhat.com Michael Goulish (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: