Exemplo n.º 1
0
    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
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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
Exemplo n.º 4
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()
Exemplo n.º 5
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()
Exemplo n.º 6
0
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()
Exemplo n.º 7
0
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()
Exemplo n.º 8
0
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()
Exemplo n.º 9
0
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
Exemplo n.º 10
0
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