Dirk Vogt | b8d16ae | 2017-10-09 15:17:49 +0200 | [diff] [blame] | 1 | import json, requests |
| 2 | from multiprocessing import Pool |
| 3 | |
| 4 | clients = [] |
| 5 | |
| 6 | |
| 7 | BASE_URL = 'http://127.0.0.1:8000/hiccup/' |
| 8 | |
| 9 | def create_client(): |
| 10 | ret_client = {} |
| 11 | register_url = 'api/v1/devices/register/' |
| 12 | params = { |
| 13 | 'board_date': "2017-01-01", |
| 14 | 'chipset': "HICCUPBENCH" |
| 15 | } |
| 16 | resp = requests.post(BASE_URL+register_url, params) |
| 17 | data = json.loads(resp.text) |
| 18 | ret_client['token'] = data['token'] |
| 19 | ret_client['uuid'] = data['uuid'] |
| 20 | return ret_client |
| 21 | |
| 22 | |
| 23 | def send_heartbeat(client): |
| 24 | heartbeat_url = 'api/v1/heartbeats/' |
| 25 | params = { |
| 26 | 'uuid': client['uuid'], |
| 27 | 'build_fingerprint': 'HICCUPBENCH', |
| 28 | 'uptime': "string", |
| 29 | 'date': "1984-06-02T19:05:00.000Z", |
| 30 | 'app_version' : 2000000 |
| 31 | } |
| 32 | resp = requests.post(BASE_URL + heartbeat_url, params, |
| 33 | headers = {'Authorization': 'Token '+ client['token']}) |
| 34 | return resp |
| 35 | |
| 36 | import time |
| 37 | |
| 38 | def bench(client): |
| 39 | start_time = time.time() |
| 40 | for i in range(50): |
| 41 | send_heartbeat(client) |
| 42 | end_time = time.time() |
| 43 | print(end_time-start_time) |
| 44 | |
| 45 | clients = [] |
| 46 | for i in range(20): |
| 47 | clients = clients + [create_client()] |
| 48 | |
| 49 | with Pool(20) as p: |
| 50 | p.map(bench, clients) |