0

I am load testing my api(nginx) with siege.Api is forwarding POST request from nginx to kafka rest server running at 8082.

I am running siege from four ec2 machines. Everytime I can see siege stops hitting for some time and then resume. So I forcefuly break the siege with Ctrl+C and I can see following:

HTTP/1.1 200   0.01 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.01 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.01 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.01 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.01 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.01 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.01 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.02 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.03 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.03 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.02 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
^C
Lifting the server siege..      done.

Transactions:              10699 hits
Availability:             100.00 %
Elapsed time:              26.71 secs
Data transferred:           1.23 MB
Response time:              0.05 secs
Transaction rate:         400.56 trans/sec
Throughput:             0.05 MB/sec
Concurrency:               20.11
Successful transactions:       10699
Failed transactions:               0
Longest transaction:            1.67
Shortest transaction:           0.00

If I dont stop it then it will resume hitting after sometime and then again stop hitting. Again when I forcefully stop it:

HTTP/1.1 200   0.06 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.07 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.04 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.03 secs:     121 bytes ==> POST http://my-ip/topics/jsontest
HTTP/1.1 200   0.04 secs:     121 bytes ==> POST http://my-ip/topics/jsontest


^C
Lifting the server siege..      done.

Transactions:              21399 hits
Availability:             100.00 %
Elapsed time:             133.88 secs
Data transferred:           2.47 MB
Response time:              2.97 secs
Transaction rate:         159.84 trans/sec
Throughput:             0.02 MB/sec
Concurrency:              474.16
Successful transactions:       21399
Failed transactions:               0
Longest transaction:           63.23
Shortest transaction:           0.00

Now again it was able to hit 21399-10699=10700 roughly same hits. SO I want to understand why it stops hitting for some time after 10699 hits? limitation of ec2-machine? It just reduce my transaction rate because of waiting time it take after 10699 hits. Which I dont want. THis is happening on all four machines. Now my api is on a ec2 instance itself. But I am able to hit 10699 times from each of four machines. But transaction rate is very low.

Any help appreciated!!

sau
  • 1,316
  • 4
  • 16
  • 37
  • Are you sure that whatever you're hitting isn't starting to block at some point? – Michael B Mar 02 '16 at 07:53
  • I guess so, because my I am running nginx and I can see no load on that. – sau Mar 02 '16 at 08:12
  • I don't know a lot about seige specifically, but if you running out of TCP connections for instance, you would see no load (because the OS is just sitting waiting for them to become free) You might want to add a couple of paragraphs about what you are testing, it will help people who are more familiar with this (and maybe add NGINX tags) – Michael B Mar 02 '16 at 08:16

0 Answers0