Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为web请求计时_Python_Time - Fatal编程技术网

Python 为web请求计时

Python 为web请求计时,python,time,Python,Time,下面是我如何计算执行请求的全部时间: import time t1 = time.time() r = requests.get('www.mysite.com') t2 = time.time() print 'Time of request: %s' (t2-t1) 我如何使用自己的url/视图跟踪以下时间: 从在客户机上发送到web服务器接收所需的时间 执行视图所需的时间 发回数据所需的时间 总时间(我已经从上面得到了这个) 我在想,如果我能同步时间,我可以做如下事情: start_

下面是我如何计算执行请求的全部时间:

import time
t1 = time.time()
r = requests.get('www.mysite.com')
t2 = time.time()
print 'Time of request: %s' (t2-t1)
我如何使用自己的url/视图跟踪以下时间:

  • 从在客户机上发送到web服务器接收所需的时间
  • 执行视图所需的时间
  • 发回数据所需的时间
  • 总时间(我已经从上面得到了这个)
我在想,如果我能同步时间,我可以做如下事情:

start_time = time.time()
r = requests.get('www.mysite.com?start_time=start_time')
data = r.json()
end_time = time.time() - start_time
print '''
TimeToReceiveRequest: %s
TimeToExecuteView: %s
TimeToReturnRequest: %s
TotalTime: %s''' % (
  data['time_to_receive_request'], 
  data['time_to_execute_view']
  end_time - data['time_to_receive_request'] - data['time_to_execute_view']
  end_time - start_time
)
在我看来--


然后如何同步
时间
,以便在两个位置都能工作?

一般来说,在两台机器之间同步时钟非常困难。我建议将测量结果分成两部分:1。客户端看到的请求/响应的往返(这会提供准确的结果,因为它只使用客户端时钟)2。服务器上的总处理时间(同样准确,因为它只使用服务器时钟),然后您可以减去这两个时间,以查看您在网络和客户端堆栈上花费了多少时间,以及您在服务器上花费了多少时间有哪些同步方法?我已经编辑了以前的注释,添加了这两个度量值。您不希望同步时钟,因为网络延迟将导致无法解释的不准确。最好使用往返,因为它们从单个时钟的角度来衡量一切。
# in the view
def view(request):
    data = {}
    data['time_to_receive_request'] = time.time() - request.GET['start_time']
    # do something in view
    data['time_to_execute_view'] = time.time() - time_to_get_request
    return HttpResponse(data)