亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php使用curl并發減少后端訪問時間的方法分析

2024-05-04 23:45:52
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php使用curl并發減少后端訪問時間的方法,結合實例形式對比分析了curl使用并發訪問前后程序運行耗時,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了php使用curl并發減少后端訪問時間的方法。分享給大家供大家參考,具體如下:

在我們平時的程序中難免出現同時訪問幾個接口的情況,平時我們用curl進行訪問的時候,一般都是單個、順序訪問,假如有3個接口,每個接口耗時500毫 秒那么我們三個接口就要花費1500毫秒了,這個問題太頭疼了嚴重影響了頁面訪問速度,有沒有可能并發訪問來提高速度呢?今天就簡單的說一下,利用 curl并發來提高頁面訪問速度,

1、老的curl訪問方式以及耗時統計

<?phpfunction curl_fetch($url, $timeout=3){  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  $data = curl_exec($ch);  $errno = curl_errno($ch);  if ($errno>0) {    $data = false;  }  curl_close($ch);  return $data;}function microtime_float(){  list($usec, $sec) = explode(" ", microtime());  return ((float)$usec + (float)$sec);}$url_arr=array(   "taobao"=>"http://www.taobao.com",   "sohu"=>"http://www.sohu.com",   "sina"=>"http://www.sina.com.cn",   ); $time_start = microtime_float(); $data=array(); foreach ($url_arr as $key=>$val) {   $data[$key]=curl_fetch($val); } $time_end = microtime_float(); $time = $time_end - $time_start; echo "耗時:{$time}";?>

耗時:0.614秒

2、curl并發訪問方式以及耗時統計

<?phpfunction curl_multi_fetch($urlarr=array()){  $result=$res=$ch=array();  $nch = 0;  $mh = curl_multi_init();  foreach ($urlarr as $nk => $url) {    $timeout=2;    $ch[$nch] = curl_init();    curl_setopt_array($ch[$nch], array(    CURLOPT_URL => $url,    CURLOPT_HEADER => false,    CURLOPT_RETURNTRANSFER => true,    CURLOPT_TIMEOUT => $timeout,    ));    curl_multi_add_handle($mh, $ch[$nch]);    ++$nch;  }  /* wait for performing request */  do {    $mrc = curl_multi_exec($mh, $running);  } while (CURLM_CALL_MULTI_PERFORM == $mrc);  while ($running && $mrc == CURLM_OK) {    // wait for network    if (curl_multi_select($mh, 0.5) > -1) {      // pull in new data;      do {        $mrc = curl_multi_exec($mh, $running);      } while (CURLM_CALL_MULTI_PERFORM == $mrc);    }  }  if ($mrc != CURLM_OK) {    error_log("CURL Data Error");  }  /* get data */  $nch = 0;  foreach ($urlarr as $moudle=>$node) {    if (($err = curl_error($ch[$nch])) == '') {      $res[$nch]=curl_multi_getcontent($ch[$nch]);      $result[$moudle]=$res[$nch];    }    else    {      error_log("curl error");    }    curl_multi_remove_handle($mh,$ch[$nch]);    curl_close($ch[$nch]);    ++$nch;  }  curl_multi_close($mh);  return $result;}$url_arr=array(   "taobao"=>"http://www.taobao.com",   "sohu"=>"http://www.sohu.com",   "sina"=>"http://www.sina.com.cn",   );function microtime_float(){  list($usec, $sec) = explode(" ", microtime());  return ((float)$usec + (float)$sec);}$time_start = microtime_float();$data=curl_multi_fetch($url_arr);$time_end = microtime_float();$time = $time_end - $time_start; echo "耗時:{$time}";?>

耗時:0.316秒

帥氣吧整個頁面訪問后端接口的時間節省了一半

3、curl相關參數

curl_close — Close a cURL session
curl_copy_handle — Copy a cURL handle along with all of its preferences
curl_errno — Return the last error number
curl_error — Return a string containing the last error for the current session
curl_exec — Perform a cURL session
curl_getinfo — Get information regarding a specific transfer
curl_init — Initialize a cURL session
curl_multi_add_handle — Add a normal cURL handle to a cURL multi handle
curl_multi_close — Close a set of cURL handles
curl_multi_exec — Run the sub-connections of the current cURL handle
curl_multi_getcontent — Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set
curl_multi_info_read — Get information about the current transfers
curl_multi_init — Returns a new cURL multi handle
curl_multi_remove_handle — Remove a multi handle from a set of cURL handles
curl_multi_select — Wait for activity on any curl_multi connection
curl_setopt_array — Set multiple options for a cURL transfer
curl_setopt — Set an option for a cURL transfer
curl_version — Gets cURL version information



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲美女中文字幕| 伦伦影院午夜日韩欧美限制| 亚洲第一在线视频| 久久久精品久久久久| 欧美精品videos另类日本| 久久夜色精品国产亚洲aⅴ| 日韩中文字幕网站| 国产精品一二三在线| 欧美日韩亚洲激情| 国产97在线|亚洲| 午夜免费日韩视频| 色青青草原桃花久久综合| 丝袜一区二区三区| 奇米成人av国产一区二区三区| 国产精品久久久久久影视| 97国产精品视频人人做人人爱| 福利一区视频在线观看| 青青久久av北条麻妃海外网| 午夜精品久久17c| 成人免费xxxxx在线观看| www.日韩免费| 日韩美女在线观看| 欧美成人一区在线| 在线观看日韩视频| 日韩精品黄色网| 久久精品国产69国产精品亚洲| 精品在线观看国产| 日韩国产欧美精品在线| 精品久久久国产| 日韩久久午夜影院| 中文字幕在线日韩| 国产91免费看片| 在线观看成人黄色| 国内偷自视频区视频综合| 久久偷看各类女兵18女厕嘘嘘| 欧美国产欧美亚洲国产日韩mv天天看完整| 91福利视频网| 国产精品男女猛烈高潮激情| 欧美日韩国产综合新一区| 久久九九免费视频| 国产日韩在线观看av| 欧美最近摘花xxxx摘花| 欧美在线视频观看| 亚洲成人国产精品| 日本一区二区在线播放| 亚洲www在线观看| 亚洲精品国产美女| 黄色成人av网| 久久精品视频在线观看| 日本精品性网站在线观看| 亚洲一区国产精品| 日韩欧美视频一区二区三区| 日韩精品中文在线观看| 亚洲综合精品一区二区| 欧美精品免费在线| 日韩中文字幕在线播放| 国产91免费看片| 中文字幕亚洲色图| 午夜精品一区二区三区在线视频| 精品一区二区三区四区| 国产999精品久久久| 97精品在线视频| 欧美一区二区大胆人体摄影专业网站| 国产亚洲视频在线观看| 亚洲国产福利在线| 亚洲福利视频久久| 国内精品久久久| 亚洲精品久久久久久久久久久久久| 国产午夜精品麻豆| 精品视频9999| 亚洲图片在区色| 亚洲欧美日韩图片| 国产精品一久久香蕉国产线看观看| 欧美中文在线观看国产| 国产精品成人v| 亚洲欧美日韩精品久久亚洲区| 成人做爽爽免费视频| 欧美日韩在线视频首页| 精品香蕉一区二区三区| 亚洲人成在线观| 亚洲国产日韩欧美综合久久| 成人久久精品视频| 成人欧美在线视频| 亚洲肉体裸体xxxx137| 欧美第一淫aaasss性| 久久久久久久91| 国产日韩在线播放| 欧美高清视频在线| 国产一区二区三区高清在线观看| 精品欧美激情精品一区| 国产精品吴梦梦| 97碰碰碰免费色视频| 日韩经典中文字幕| 九九热精品在线| 亚洲精品91美女久久久久久久| 国产中文日韩欧美| 97av在线视频| 91中文字幕一区| 欧美日韩激情美女| 日韩在线中文视频| 国产日韩在线精品av| 一区二区三区国产在线观看| 久久伊人91精品综合网站| 国产亚洲精品一区二区| 亚洲视频欧洲视频| 成人av在线亚洲| 久久天天躁狠狠躁老女人| 久久久精品一区二区| 国产日韩精品视频| 国产一区二区三区中文| 亚洲国产三级网| 裸体女人亚洲精品一区| 国产精品美女在线观看| 国产成人久久久精品一区| 亚洲人成网站免费播放| 精品国产福利在线| 国产69精品99久久久久久宅男| 欧美一级高清免费| 午夜精品久久久久久久久久久久久| 国产欧美日韩专区发布| 91欧美精品成人综合在线观看| 国产精品99久久久久久久久久久久| 国产suv精品一区二区| 日本欧美黄网站| 国产精品永久免费在线| 狠狠久久亚洲欧美专区| 免费91麻豆精品国产自产在线观看| 欧美成人亚洲成人| 亚洲成人av中文字幕| 中文字幕国产亚洲2019| 欧美日本中文字幕| 中文字幕日韩欧美在线| 久久九九热免费视频| 亚洲xxxxx性| 国产精品久久一区主播| 精品中文字幕久久久久久| 欧美成年人视频网站欧美| 欧美激情图片区| 色播久久人人爽人人爽人人片视av| 精品亚洲一区二区三区| 欧美激情喷水视频| 欧美国产日韩一区二区在线观看| 久久久视频精品| 精品一区二区电影| 久久久亚洲网站| 久久国产精品免费视频| 欧美日韩亚洲视频一区| 操人视频在线观看欧美| 日本高清视频精品| 欧美激情亚洲精品| 亚洲电影天堂av| 91爱视频在线| 欧美丰满少妇xxxxx| 91久久久国产精品| 国产成人精彩在线视频九色| 日韩欧美在线网址| 成人午夜高潮视频| 久久久精品视频在线观看| 国产精品高潮粉嫩av| 日韩精品免费观看| 91久久久久久久久久久久久| 欧美亚洲日本黄色| 日本一区二区三区在线播放| 亚洲性猛交xxxxwww|