2016-09-15 65 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。從屬與實例的比例很大程度上取決於您獲得的實例大小。