python性能测试脚本

下面是我写的一个性能测试脚本,脚本中运行出来的response received的时间比用httpClient跑出来的正常时间要长,自认为是读取文件的时候耗费了不少时间,不知道该怎么优化,求指点 
标签: Python_Sync

代码片段(1)

[代码] http_post.py

view source
print ?
01 '''
02 Created on 2013-4-16
03  
04  
05 @author: zdh
06  
07  
08 create project: multimech-newproject my_project
09 run test: multimech-run my_project
10 '''
11 import httplib
12 import urllib
13 import time
14 import json
15  
16  
17 class Transaction(object):
18          
19     def __init__(self):
20         self.custom_timers = {}
21  
22  
23     def run(self):
24         conn = httplib.HTTPConnection("localhost:8080")
25         headers = {"Content-type""application/json"#application/x-www-form-urlencoded,"Aceept":"text/plain"
26         params = ({"bindHyCardInfo":{"mobileNo":"1881026xxxx","userId":"2","hYCardno":line,"bankCardNo":"622xxxxxxxxxxxxx","ip":"127.0.0.1"},"header":{"version":"1.0.1","from":"1000","to":"2000","tid":line,"time":"12312","token":"SEW342WEER2342","ext":""}})
27         start = time.time()
28         conn.request("POST""/core-oper/rest/bindHyCard", json.JSONEncoder().encode(params), headers)
29         response = conn.getresponse()
30         response_time = time.time()
31         data = response.read()
32         print data
33         conn.close()
34         transfer_time = time.time()
35         self.custom_timers['response received'= response_time - start
36         self.custom_timers['content transferred'= transfer_time - start
37          
38  
39  
40 if __name__ == '__main__':
41      
42     file = open("E://card.txt")
43     while 1:
44         lines = file.readlines()
45         if not lines:
46             break
47         for line in lines:
48             line = line.strip('\n')
49             trans = Transaction()
50             trans.run()
51             for timer in ('response received''content transferred'):
52                 print '%s: %.5f secs' % (timer, trans.custom_timers[timer])
53     file.close()

你可能感兴趣的:(python)