| import json, requests |
| from multiprocessing import Pool |
| |
| clients = [] |
| |
| |
| BASE_URL = "http://127.0.0.1:8000/hiccup/" |
| |
| |
| def create_client(): |
| ret_client = {} |
| register_url = "api/v1/devices/register/" |
| params = {"board_date": "2017-01-01", "chipset": "HICCUPBENCH"} |
| resp = requests.post(BASE_URL + register_url, params) |
| data = json.loads(resp.text) |
| ret_client["token"] = data["token"] |
| ret_client["uuid"] = data["uuid"] |
| return ret_client |
| |
| |
| def send_heartbeat(client): |
| heartbeat_url = "api/v1/heartbeats/" |
| params = { |
| "uuid": client["uuid"], |
| "build_fingerprint": "HICCUPBENCH", |
| "uptime": "string", |
| "date": "1984-06-02T19:05:00.000Z", |
| "app_version": 2000000, |
| } |
| resp = requests.post( |
| BASE_URL + heartbeat_url, |
| params, |
| headers={"Authorization": "Token " + client["token"]}, |
| ) |
| return resp |
| |
| |
| import time |
| |
| |
| def bench(client): |
| start_time = time.time() |
| for i in range(50): |
| send_heartbeat(client) |
| end_time = time.time() |
| print(end_time - start_time) |
| |
| |
| clients = [] |
| for i in range(20): |
| clients = clients + [create_client()] |
| |
| with Pool(20) as p: |
| p.map(bench, clients) |