2015-12-24 4 views
0

Я хотел бы проверить производительность фазы прогнозирования одного алгоритма с использованием Locust.Тест производительности предсказания

Запрос двигателя (REST API) выглядит примерно так:

engine_client = predictionio.EngineClient(url="http://localhost:8003") 
print engine_client.send_query({"items": ["10181"], "num": 50, "category": ["31","32"], "blackList":["10184"]}) 

И с Java-код: И с Java-код:

@RequestMapping(value = "/bestSeller", method = RequestMethod.GET) 

    public String getBestSellerProducts(

     Model model, 

     @RequestParam(value = "categoryCode") String categoryCode, 

     HttpServletRequest request, HttpServletResponse response) 

     throws IOException { 

    logger.info("getBestSellerProducts - blackList {}", blackList); 

      ... 

    } 

Может кто-нибудь помочь мне с этим? спасибо.

ответ

0

Код, который вам нужен, примерно такой.

from locust import HttpLocust, TaskSet, task, events 
from locust.stats import RequestStats 

class UserBehavior(TaskSet): 

def on_start(self): 
    """ 
    Executes for each user at the start 
    :return: 
    """ 
    pass 

@task 
def full_cicle(self): 
    """ 
    Full User cicle 
    :return: 
    """ 
    self.recommendation() 

def recommendation(self): 
    """ 
    Gets recommendations for user 
    :return: 
    """ 
    response = self.client.post(":8000/queries.json", json.dumps({"items": ["10"], "num": 10}), 
           headers={'Content-Type': 'application/json'},name="/recommendation") 

class WebsiteUser(HttpLocust): 
    task_set = UserBehavior 
    min_wait=10 # Min time between requests of each user 
    max_wait=10 # Max time between requests of each user 
    stop_timeout= 100 # Stopping time 

И ссылаться на что-то вроде

sudo locust --host=http://test.com -f file.py 
+0

Благодарности @carlos за помощь, это довольно поздно привести решение было найдено, в любом случае ваш ответ является правильным. Благодаря! –

Смежные вопросы