2016-09-15 42 views
1

我正在使用蝗虫加载测试应用程序。我在我的本地ubuntu系统上编写并测试了脚本,并且一切顺利。蝗虫 - 孵出率 - EC2

我使用Amazon Linux映像创建了一个EC2实例,并在调整了/etc/security/limits.conf文件中的文件限制之后,我加载了蝗虫,事情正常进行了一个小测试(简单的GET测试,只是检查水管,2000用户,20孵化率)。然而,当我加载了一个更大的测试,8000个用户的孵化率时,我注意到大约有3,000或4,000个用户,孵化率似乎下降了,只是增加了4-5而不是40个新的“用户”一次。所以花费很长时间才能达到8000.那是否是预期的行为,如果不是的话,是否知道问题可能是什么?

回答

0

什么Locust调用“用户”实际上是gevent派生的TaskSets。这意味着您在单个Python进程中产生了数千个eventlet,这意味着管理这些eventlet的开销很大。

如果你想产生数千个TaskSets,我建议在distributed mode运行Locust。您可以在同一个硬件上运行多个从站,或者在多个实例中分配您的从站。谷歌写了一篇整洁的文章,并为此目的开放了一些Kubernetes容器。我们用Alpine编写了我们自己的Docker容器,并且修改了很多的Locust,我们从TaskSets的比例最终达到了1:100。从属与实例的比例很大程度上取决于您获得的实例大小。