衡量链接的响应时间

时间:2012-10-20 22:24:56

标签: php linux

我正在尝试创建一个简单的负载平衡脚本,我想知道是否有可能找到服务器的响应时间? 我的意思是,可以测量服务器在发出请求后响应的时间吗?

我想要做的是相当简单,我想向链接/服务器发送请求并进行倒计时,如果服务器花了5秒多的时间来回复,我想要落在备份服务器上。

请注意,它不必是在纯PHP中,我不介意使用其他语言,如javascript,C / C ++,asp,但我更喜欢在PHP中使用它。如果有可能完成任务,你能不能指出我正确的方向,以便我可以阅读它。

澄清

我想要做的不是下载文件,看看花了多长时间,我的服务器负载很高,当你点击要下载的文件时,它们需要一段时间才能响应,我想要做的是测量服务器响应所花费的时间(在这种情况下,它是服务器响应并允许用户下载文件所花费的时间),如果花费的时间超过x秒,它应该会下降回到备份服务器上。

2 个答案:

答案 0 :(得分:5)

我认为你应该看看curl_getinfo它会返回以下内容,而不仅仅是你需要的

url
content_type
http_code
header_size
request_size
filetime
ssl_verify_result
redirect_count
total_time  <------------------ what you need
namelookup_time
connect_time
pretransfer_time
size_upload
size_download
speed_download <------- Speed 
speed_upload
download_content_length
upload_content_length
starttransfer_time
redirect_time  <------ Can cause increase in time 
certinfo


您的修改: if it takes longer than x seconds, it should fall back on a

解决方案:您只需将CURLOPT_CONNECTTIMEOUT设置为x seconds ...它会终止,您可以继续执行其他任务。

答案 1 :(得分:0)

与curl类似,您也可以使用HttpRequest并将timeout选项设置为5。

相关问题