Roeland Kuipers created CLOUDSTACK-4328:
-------------------------------------------

             Summary: Make "mode http" & "option httpclose" in HAproxy.conf 
configurable on port 80
                 Key: CLOUDSTACK-4328
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4328
             Project: CloudStack
          Issue Type: Improvement
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: Virtual Router
    Affects Versions: 4.2.0
            Reporter: Roeland Kuipers


By default CS configures "mode http" & "option http" when it detects a rule on 
public port 80.

In most situations this is perfectly OK, but we hit a specific situation where 
this has negative impact on performance. In this case a Varnish implementation 
which needs to run on port 80 and cannot run on an alternative port. We could 
imagine this could be an issue for other CS users too.
Besides this also the maxconnections needs to be raised but this has already 
been address by CS-2997, which is also the inspiration to make the "http mode" 
configurable.

Details on the performance difference below.

So we like to see this "http mode"on port 80 configurable. e.g. httpmode 
false-true on the API

See also CS-2997 and the following commits:
dd33abffbe3b7c5b615e8f64b1824a720329dd0d [dd33abf]
954e1978130b3cfb0c73f2f1506d94440f478f01 [954e197]

Performance testing details:

with ‘mode http en option httpclose’ on de load-balancing rule:

9:34 root@w6 /home/erwin/src/wrk > ./wrk  -c 1000 -t 20 -d 20 
http://xxxxx/imgbase0/imagebase/thumb/FC/2/7/0/8/1004004013338072.jpg

Running 20s test @ 
http://xxxxx/imgbase0/imagebase/thumb/FC/2/7/0/8/1004004013338072.jpg
  20 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.21s     6.30s   15.87s    82.30%
    Req/Sec    43.61     37.81   371.00     78.61%
  16452 requests in 20.01s, 146.60MB read
  Socket errors: connect 0, read 8, write 309, timeout 4753
Requests/sec:    822.03
Transfer/sec:      7.33MB

-       without:

9:33 root@w6 /home/erwin/src/wrk > ./wrk  -c 1000 -t 20 -d 20 
http://xxxxx/imgbase0/imagebase/thumb/FC/2/7/0/8/1004004013338072.jpg

Running 20s test @ 
http://xxxxx/imgbase0/imagebase/thumb/FC/2/7/0/8/1004004013338072.jpg
  20 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   240.62ms    1.28s   12.19s    97.80%
    Req/Sec   545.98    181.96     1.46k    74.70%
  222229 requests in 20.00s, 1.92GB read
  Socket errors: connect 0, read 53, write 43, timeout 791
Requests/sec:  11109.45
Transfer/sec:     98.09MB


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to