cURL / Mailing Lists / curl-library / Single Mail

curl-library

HTTP 2.0 performance is slower than HTTP 1.1 in libcurl

From: Ganesh Nikam <gnikam_at_qualys.com>
Date: Thu, 19 May 2016 15:02:01 +0530

Hi All,

We are using libcurl APIs in our application to send HTTP requests. We are
using only curl_easy() interface.

Looking at all the documentation available about HTTP 2.0, it seems that it
should perform better than HTTP 1.1 (Here we are measuring performance on
the basis of time taken to perform X number of request to particular web
server).

​We have done testing for both the versions:
- Test 1: HTTP client supports HTTP 2.0,
             HTTP sever do not support HTTP 2.0 (HTTP server on HTTP 1.1)

- Test 2: ​HTTP client supports HTTP 2.0,
             HTTP sever also support HTTP 2.0

​We our expecting that time required to make X request for "Test 2" should
be less than "Test 1". But in actual results we found that, "Test 2"
require 1.5x more time than "Test 1". Which shows​ that HTTP 2.0 is 1.5x
slower that HTTP 1.1.

As we are only using easy interface, we are not able to take benefit of
multiplexing and concurrent steams.

are these results are expected ? With easy itnerface, HTTP 2.0 is slower
than HTTP 1.1 ?

OR

Internal conversion of the response header (from HTTP 2.0 to HTTP 1.1) make
HTTP 2.0 slower ?

are there any configuration changes that can improve HTTP 2.0 performance
in above scenarios ?

Regards
Ganesh Nikam

-------------------------------------------------------------------
List admin: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2016-05-19