Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为什么用了一段时间后,发现一直停留在某一个阶段。 #2

Open
wind930 opened this issue Sep 1, 2016 · 2 comments

Comments

@wind930
Copy link

wind930 commented Sep 1, 2016

我测试了一个接口,一开始从100、200、300这样一直到5000 但是压了一段时间Current Concurrency 就一直停留在某一个数,请问这个是什么原因,因为我使用的默认值,每次持续5s,前几天测试的都能一直走完,这几天不行了老是卡死;

而且用下来发现,整个测试过程会很慢,不知道为什么?测试中间产生的原始log能重定向到文件吗

@pyloque
Copy link
Collaborator

pyloque commented Sep 5, 2016

很抱歉最近没有好好上github,回复的晚了一点。
你这个情况说明你用的应该是vegeta版本的,vegeta是固定的qps,那如果你期望的qps太大,vegeta就会拼命的起很多的goroutine,goroutine多到一定程度,系统负载随之大幅上升,会使得测试alex程序的性能急剧下降,你可能是在一台普通的电脑上进行的压力测试,系统性能相对一般,或者你的目标程序性能不佳,5000的qps都远不能达到。
我比较推荐使用boom版本的,boom提供稳定的并发条件下探测目标系统的极限qps,一般不会导致压测程序性能急剧下降。

@pyloque
Copy link
Collaborator

pyloque commented Sep 5, 2016

vegeta这个库没有提供退出机制,所以在goroutine太多的情况下就会导致程序停不下来,遇到这种情况一般只有重启程序,否则就会等待很长时间才能停下来

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants