多线程http压力测试,多线程压力测试,# Python ver


# Python version 3.3__author__ = 'Toil'import sys, getoptimport threadingdef httpGet(url, file):    import http.client    conn = http.client.HTTPConnection(url)    conn.request("GET", file)    r = conn.getresponse()    #print(r.getheaders())    while not r.closed:        r.read(200)    conn.close()def Usage():    print('''    Options are:    -c concurrency  Number of multiple requests to make    -u host         The host    -f file         File on web    Example: httpget.py -c 100 -u www.example.com -f /    ''')if __name__ == '__main__':    opts, args = getopt.getopt(sys.argv[1:], "hc:u:f:")    global u, c, f    for op, value in opts:        if op == '-c':            c = int(value)        elif op == '-u':            u = value        elif op == '-f':            f = value        elif op == '-h':            Usage()            sys.exit(0)        else:            sys.exit(0)    threads = []    times = c    print('Test for ', u, f)    print('waiting...')    for i in range(0, times):        t = threading.Thread(target=httpGet(u, f))        threads.append(t)    for i in range(0, times):        threads[i].start()    for i in range(0, times):        threads[i].join()#该片段来自于http://byrx.net

评论关闭