0

我正在使用 siege 对我的 api(nginx) 进行负载测试。Api 正在将 POST 请求从 nginx 转发到运行在 8082 的 kafka rest 服务器。

我正在从四台 ec2 机器围攻。每次我都能看到围攻停止击打一段时间然后恢复。所以我用 Ctrl+C 强行打破了包围,我可以看到以下内容:

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

如果我不停止它,那么它会在一段时间后恢复打击,然后再次停止打击。当我再次强行停止它时:

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

现在它再次能够达到 21399-10699=10700 大致相同的命中。所以我想了解为什么在 10699 次命中后它会停止命中一段时间​​?ec2机器的限制?它只是降低了我的交易率,因为在 10699 次点击后需要等待时间。这是我不想要的。这发生在所有四台机器上。现在我的 api 在 ec2 实例本身上。但是我可以从四台机器中的每一台上击中 10699 次。但是成交率很低。

任何帮助表示赞赏!

4

0 回答 0