sslhttpsload-testinghttperfautobench

autobench on HTTPS endpoint


How do I set in autobench that I'm testing an HTTPS (port 443) URL?

When I call it with:

autobench --single_host --host1 host.com --port1 443 --uri1 /hello --num_conn 1000 --timeout 5 --low_rate 10 --high_rate 50 --rate_step 10 --num_call 10 --quiet --file results.tsv

it shows:

httperf.parse_status_line: invalid status line `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'!!
httperf.parse_status_line: bad status 1

Which is not correct because that HTTPS page (in the example above would be https://host.com/hello) returns a valid 200 OK response.

Thanks


Solution

  • You need to add the following line to your ~/.autobench.conf file:

    httperf_ssl = NULL
    

    --ssl is a command-line argument of httperf, which autobench calls underneath. The NULL value means to not pass a value for that arg to httperf.

    Generally speaking, you can add any additional command-line arguments to httperf by putting them in the config file and prepending them with httperf_. Another example:

    httperf_add-header = "Authorization: Basic Zm9vOmJhcg=="
    

    is equivalent to running httperf --add-header "Authorization: Basic Zm9vOmJhcg=="