0

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

我想做的很简单,我想向链接/服务器发送请求并倒计时,如果服务器的回复时间超过 5 秒,我想落在备用服务器上。

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

澄清

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

4

2 回答 2

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_CONNECTTIMEOUTx seconds...它将终止,您可以继续执行其他任务。

于 2012-10-20T22:27:33.197 回答
0

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

于 2012-10-20T22:54:04.207 回答