2012-06-26 1 views
0

Так что я хочу использовать funkload для стресс-теста API. У меня есть набор адресов в тестеПроверка API Funkload

Вещи аутентификации посылаются через строку запрос на каждом запросе (не печенье участвует)

так/а? AUTH = token1 бы один пользователь и/а? 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 так работает один и тот же пользователь одновременно х раз только ставит сервер на соответствующую нагрузку на 1 запрос.

Я ищу способ определения того, какой одновременный пользователь я запускаю, так что я могу изменить токен аутентификации для каждого пользователя.

Любые идеи?

+0

Вы можете отключить кеширование при запуске теста? – ryanday

+0

Это возможно, но не без хлопот. Спасибо за предложение, я рассмотрю, что если все остальное не удастся, хотя я не думаю, что команда будет довольна этим предложением. – guided1

ответ

0

Для всех, кто сталкивается с подобной проблемой. Я понял, как это сделать, используя сервер учетных данных. Вместо фактического наличия имени пользователя: password в passwords.txt я использовал имя: authkey.

Другой способ, но не масштабируемый для запуска нескольких серверов генерации нагрузки, к которым у вас есть доступ к self.thread_id, чтобы вы знали, с каким потоком/пользователем вы работаете.