我也搞搞在线测试3-python多线程脚本

这两天一直在看varnish,本来想把这方面的东西总结下,可是不知怎的,心情有那么一丝丝烦躁,结果什么事情也没有做成,罪过。给自己列了一个计划,出去好好的玩玩,放松下,等节后要好好的总结下近期的状况,多学点东西,多写点东西。

脚本思想:

1.python多线程,开100个线程,每一个线程跑2个请求。
2.模拟100个用户,对www.douban.com并发访问2次。
#!/usr/bin/env python
#coding: utf-8

import socket
import httplib
import threading

THREAD_COUNT = 100 
LOOP_COUNT = 2 
ADDRESS = ['www.douban.com','/']

def get_http_data_and_status(netloc,request_uri):
    try:
        conn = httplib.HTTPConnection(netloc)
        conn.request("GET",request_uri)
        r = conn.getresponse()
        status = r.status
        data = r.read()
    except (httplib.HTTPException, socket.error),e:
        print "Error: %s" % e 
    finally:
        conn.close()
    return (status,data)

def send_request(URL):
    netloc = URL[0]
    request_uri = URL[1]
    get_http_data_and_status(netloc,request_uri)

def loop():
    for i in xrange(LOOP_COUNT):
        send_request(ADDRESS)
    
if __name__ == '__main__':
    threads = []
    for i in xrange(THREAD_COUNT):
        threads.append(threading.Thread(target=loop))
    for t in threads:
        t.start()
    for t in threads:
        t.join()

自言自语:

测试这方面的东西算是马马虎虎写完了,因为平时真的很少去进行测试,很多东西都是凭着感觉去做,理解上必然有很多偏差。想要专业点,就得拿数据说话,虽然很难,可依然是我心所向。