Skip to content
This repository was archived by the owner on Apr 23, 2019. It is now read-only.
This repository was archived by the owner on Apr 23, 2019. It is now read-only.

/count endpoint barfs under load #49

@wirtsi

Description

@wirtsi

I am doing some load testing with the starter example. So for example

ab  -n 100000 http://localhost:9000/count                                                                                               
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests


Server Software:
Server Hostname:        localhost
Server Port:            9000

Document Path:          /count
Document Length:        5 bytes

Concurrency Level:      1
Time taken for tests:   206.992 seconds
Complete requests:      100000
Failed requests:        49210
   (Connect: 0, Receive: 0, Length: 49210, Exceptions: 0)
Total transferred:      40149210 bytes
HTML transferred:       549210 bytes
Requests per second:    483.11 [#/sec] (mean)
Time per request:       2.070 [ms] (mean)
Time per request:       2.070 [ms] (mean, across all concurrent requests)
Transfer rate:          189.42 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1 148.9      0   19570
Processing:     0    1   8.4      0    1024
Waiting:        0    1   8.0      0    1024
Total:          0    2 149.1      1   19571

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      1
  80%      1
  90%      1
  95%      1
  98%      1
  99%      1
 100%  19571 (longest request)

It appears I can throw the /count endpoint off by setting a higher concurrency

ab -c12 -n 100000 http://localhost:9000/count                                                                                            
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 10000 requests
apr_pollset_poll: The timeout specified has expired (70007)
Total of 16387 requests completed

This always happens at around 16k requests, even at a concurrency of only 2

Os is MacOs Sierra, Scala 2.12.2 (installed via brew), 2.6.x branch of this repo

Nothing too dramatic but still a bit of a surprise how quickly threading can barf, even with Scala :)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions