import socket from time import time from time import sleep from urllib.parse import urlparse import json from requests_futures.sessions import FuturesSession session = FuturesSession() udp_payload = { 'tag': 'ows1', 'timestamp': '2019-05-13T15:37:30.420926', 'level': 200, 'level_name': 'INFO', 'correlation_id': 'correlation_id', 'message': 'loadtest', "resources": {}, 'service': 'penner_udp_test', 'service_version': '1', 'environment': 'qa', 'meta': { 'file_name': 'queues.py', 'function_name': '_log', 'line': 88, 'logger_name': 'qa' } } tcp_payload = { 'tag': 'ows1', 'timestamp': '2019-05-13T15:37:30.420926', 'level': 200, 'level_name': 'INFO', 'correlation_id': 'correlation_id', 'message': 'hi5', "resources": {}, 'service': 'penner_tcp_test', 'service_version': '1', 'environment': 'qa', 'meta': { 'file_name': 'queues.py', 'function_name': '_log', 'line': 88, 'logger_name': 'qa' } } def tcp_test(): dsn='https://qa-fluentd-applications.theorchard.io:8888/application' print('tcp_test2') for i in range(1000): t1 = time() tcp_payload['message'] = i session.post(dsn, json=tcp_payload) t2 = time() print('{} {} {:.3f}ms'.format(i, (t2 - t1) > 1, (t2 - t1) * 1000)) def udp_test(): print('udp_test') dsn='udp://qa-fluentd-applications-udp.theorchard.io:5160' parsed_dsn = urlparse(dsn) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) print('{} {}'.format(parsed_dsn.hostname, parsed_dsn.port)) for i in range(1000): udp_payload['message'] = 'udp_test1 loadtest sendto {}'.format(i) t1 = time() udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) t2 = time() #udp_sock.connect((parsed_dsn.hostname, parsed_dsn.port)) # sleep (25.0 / 1000.0); udp_sock.sendto( json.dumps(udp_payload).encode('utf-8'), (parsed_dsn.hostname, parsed_dsn.port)) t3 = time() print('{} {:.3f}ms {:.3f}ms'.format(i, (t2 - t1) * 1000, (t3 - t2) * 1000)) def udp_test2(): print('udp_test2') dsn='udp://qa-fluentd-applications-udp.theorchard.io:5160' parsed_dsn = urlparse(dsn) udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) udp_sock.connect((parsed_dsn.hostname, parsed_dsn.port)) print('{} {}'.format(parsed_dsn.hostname, parsed_dsn.port)) for i in range(1000): t1 = time() udp_payload['message'] = i udp_sock.send( json.dumps(udp_payload).encode('utf-8')) t2 = time() print('{} {} {:.3f}ms'.format(i, (t2 - t1) > 1, (t2 - t1) * 1000)) def udp_test3(): print('udp_test3') dsn='udp://qa-fluentd-applications-udp.theorchard.io:5160' parsed_dsn = urlparse(dsn) family, _, _, _, addr = socket.getaddrinfo(parsed_dsn.hostname, parsed_dsn.port, socket.AF_INET6, socket.SOCK_DGRAM )[0] udp_sock = socket.socket(family, socket.SOCK_DGRAM) print('{} {}'.format(parsed_dsn.hostname, parsed_dsn.port)) for i in range(1000): udp_payload['message'] = 'udp3 sendto {}'.format(i) t1 = time() #udp_sock.connect((parsed_dsn.hostname, parsed_dsn.port)) udp_sock.sendto( json.dumps(udp_payload).encode('utf-8'), addr) t2 = time() print('{} {} {:.3f}ms'.format(i, (t2 - t1) > 1, (t2 - t1) * 1000)) udp_test() exit() host = 'qa-fluentd-applications-udp.theorchard.io' port = 5160 family, _, _, _, addr = socket.getaddrinfo(host, port, socket.AF_INET6, socket.SOCK_DGRAM)[0] print('family') print(family) print(socket.AF_INET6) print(addr)