0

所以我想使用 funkload 对 API 进行压力测试。我在测试中有一组网址

问题是身份验证是通过每个请求的查询字符串发送的(不涉及 cookie)

所以 /abc?auth=token1 是一个用户, /abc?auth=token2 是另一个用户

我有类似这样的代码:

class Simple(FunkLoadTestCase):

    def setUp(self):
        # fetch urls from a file ... ending up with something like
        urlList = ['http://localhost/abc?auth=1', 'http://localhost/def?auth=1']
        self.urlList = urlList

    def test_simple(self):
        for url in self.urlList:
            self.get(url, description='Get url')

问题是服务器严重依赖 memcached,因此同时运行同一个用户 x 次只会使服务器在第一次请求时处于适当的负载。

我正在寻找一种方法来识别我正在运行的并发用户,以便我可以修改每个并发用户的身份验证令牌。

有任何想法吗?

4

1 回答 1

0

对于遇到类似问题的任何人。我想出了如何使用凭证服务器来做到这一点。我没有在 passwords.txt 中实际使用用户名:密码,而是使用了名称:authkey。

另一种方法,但不能扩展为运行多个负载生成服务器,您可以访问 self.thread_id,这样您就可以知道您正在以哪个线程/用户身份运行。

于 2012-06-29T14:52:03.420 回答