def test_parse_wrk_output(self): f = open(os.path.join(root_path, "tools/testdata/wrk1.txt")) stats = parse_wrk_output(f.read()) assert stats['req_per_sec'] == 1837 assert stats['max_latency'] == 6.25 f2 = open(os.path.join(root_path, "tools/testdata/wrk2.txt")) stats2 = parse_wrk_output(f2.read()) assert stats2['req_per_sec'] == 53435 assert stats2['max_latency'] == 6.22 f3 = open(os.path.join(root_path, "tools/testdata/wrk3.txt")) stats3 = parse_wrk_output(f3.read()) assert stats3['req_per_sec'] == 96037 assert stats3['max_latency'] == 6.36
def run(server_cmd, port, merge_env=None, origin_cmd=None): # Run deno echo server in the background. if merge_env is None: env = None else: env = os.environ.copy() for key, value in merge_env.iteritems(): env[key] = value # Wait for port 4544 to become available. # TODO Need to use SO_REUSEPORT with tokio::net::TcpListener. time.sleep(5) origin = None if origin_cmd is not None: origin = subprocess.Popen(origin_cmd, env=env) print server_cmd server = subprocess.Popen(server_cmd, env=env) time.sleep(5) # wait for server to wake up. TODO racy. try: cmd = "third_party/wrk/%s/wrk -d %s --latency http://127.0.0.1:%s/" % ( util.platform(), DURATION, port) print cmd output = subprocess.check_output(cmd, shell=True) stats = util.parse_wrk_output(output) print output return stats finally: server.kill() if origin is not None: origin.kill()
def parse_wrk_output_test(): print "Testing util.parse_wrk_output_test()..." f = open(os.path.join(util.root_path, "tools/testdata/wrk1.txt")) stats = util.parse_wrk_output(f.read()) assert stats['req_per_sec'] == 1837 assert stats['max_latency'] == 34.96 f2 = open(os.path.join(util.root_path, "tools/testdata/wrk2.txt")) stats2 = util.parse_wrk_output(f2.read()) assert stats2['req_per_sec'] == 53435 assert stats2['max_latency'] == 0.00125 f3 = open(os.path.join(util.root_path, "tools/testdata/wrk3.txt")) stats3 = util.parse_wrk_output(f3.read()) assert stats3['req_per_sec'] == 96037 assert stats3['max_latency'] == 1630.0
def run(server_cmd, merge_env=None): # Run deno echo server in the background. if merge_env is None: env = None else: env = os.environ.copy() for key, value in merge_env.iteritems(): env[key] = value # Wait for port 4544 to become available. # TODO Need to use SO_REUSEPORT with tokio::net::TcpListener. time.sleep(5) server = subprocess.Popen(server_cmd, env=env) time.sleep(5) # wait for server to wake up. TODO racy. try: cmd = "third_party/wrk/%s/wrk -d %s http://%s/" % (util.platform(), DURATION, ADDR) print cmd output = subprocess.check_output(cmd, shell=True) req_per_sec = util.parse_wrk_output(output) print output return req_per_sec finally: server.kill()
def run(server_cmd): # Run deno echo server in the background. server = subprocess.Popen(server_cmd) time.sleep(5) # wait for server to wake up. TODO racy. try: cmd = "third_party/wrk/%s/wrk -d %s http://%s/" % (util.platform(), DURATION, ADDR) print cmd output = subprocess.check_output(cmd, shell=True) req_per_sec = util.parse_wrk_output(output) print output return req_per_sec finally: server.kill()
def run(server_cmd): # Run deno echo server in the background. server = subprocess.Popen(server_cmd) time.sleep(5) # wait for server to wake up. TODO racy. wrk_platform = { "linux2": "linux", "darwin": "mac", }[sys.platform] try: cmd = "third_party/wrk/" + wrk_platform + "/wrk -d " + DURATION + " http://" + ADDR + "/" print cmd output = subprocess.check_output(cmd, shell=True) req_per_sec = util.parse_wrk_output(output) print output return req_per_sec finally: server.kill()
def run(server_cmd, port, merge_env=None, origin_cmd=None): # Run deno echo server in the background. if merge_env is None: env = None else: env = os.environ.copy() for key, value in merge_env.iteritems(): env[key] = value # Wait for port 4544 to become available. # TODO Need to use SO_REUSEPORT with tokio::net::TcpListener. time.sleep(5) origin = None if origin_cmd is not None: origin = subprocess.Popen(origin_cmd, env=env) print server_cmd server = subprocess.Popen(server_cmd, env=env) time.sleep(5) # wait for server to wake up. TODO racy. try: wrk = third_party.get_prebuilt_tool_path("wrk") assert os.path.exists(wrk) cmd = "%s -d %s --latency http://127.0.0.1:%s/" % (wrk, DURATION, port) print cmd output = subprocess.check_output(cmd, shell=True) stats = util.parse_wrk_output(output) print output return stats finally: server_retcode = server.poll() if server_retcode is not None and server_retcode != 0: print "server ended with error" sys.exit(1) server.kill() if origin is not None: origin.kill()
def parse_wrk_output_test(): print "Testing util.parse_wrk_output_test()..." f = open(os.path.join(util.root_path, "tools/testdata/wrk1.txt")) req_per_sec = util.parse_wrk_output(f.read()) assert req_per_sec == 1837