首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSO2 API管理器节流测试

WSO2 API管理器节流测试
EN

Stack Overflow用户
提问于 2017-05-12 08:11:29
回答 1查看 376关注 0票数 1

我们正在尝试使用jmeter.Following进行负载测试,这是一个场景。

Application1 :2 req/min(节流层)

场景1 :我们已经创建了具有10个线程数和分支周期为1的脚本,根据节流层,它不应该接受超过2 req/min的请求,但是超过2个请求得到了适当的响应。

Scenarion 2:我们测试了相同的api应用程序,线程数为30个,分支程序周期为60。它正在正常工作,我们得到了正确的错误响应,说明您已经超出了限制。

有谁能帮助我们理解为什么它在场景1中失败的原因?

EN

回答 1

Stack Overflow用户

发布于 2017-05-25 09:39:18

此行为的原因是因为节流是异步执行的,而不阻塞传入的请求。当两个请求之间的时间差很大时,这就为节流事件的发生提供了足够的时间,因此节流精度更高。

在第二个测试中,您使用了30个线程,爬升时间为60秒。这意味着在测试的前60秒内,每个请求之间有2秒的间隔( 60 /30)。在第一个测试中,两个请求之间的间隔为1/10 =0.1秒。因此,在第一个测试中,有许多请求是在非常短的时间内发送的,因此,在作出节流决定并通知时,比最初允许的请求多出了几个请求。但是在第二个测试中,每个请求之间有2秒的间隔。因此,在第二个请求通过后,节流引擎做出节流决定,并在另一个2秒失效之前通知Gateway。因此,当第三个请求到达时,网关知道它应该被切断。

总之,当请求之间的时间非常短时,节流计数的准确性就会降低。大多数实际情况与第二个测试相似,在第二个测试中,两个请求之间总是有一个“思考时间”。在这些情况下,准确性很高。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43932671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档