介面查詢重新整理測試,1W次請求查詢獲取資料
阿新 • • 發佈:2019-02-16
查詢 10000 次。
耗時:680 秒
A伺服器負責傳送查詢請求,B伺服器負責將結果查詢返回給A伺服器,當前資料表有200W條使用者記錄。
A:
//測試1W次請求 查詢平臺伺服器的時間 function get_69(){ $insert_num = 10000; echo "查詢 {$insert_num} 次。<br>"; $mark_start = time(); for($i=0; $i<=$insert_num; $i++){ //uid 為100W之內的隨機數 $uid = rand(2000, 1000000); $this->curl_get69($uid); } $mark_end = time(); $jiange = $mark_end - $mark_start; echo "耗時:{$jiange} 秒"; } function curl_get69($uid){ //echo "$uid<Br>"; $url = "http://test.i.com/test/get_userinfo/{$uid}"; $curl = curl_init($url); curl_setopt($curl, CURLOPT_HEADER, 0); // 過濾HTTP頭 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 顯示輸出結果 curl_setopt($curl, CURLOPT_TIMEOUT,0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //SSL證書認證 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); //嚴格認證 $responseText = curl_exec($curl); $httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE); curl_close($curl); $return = array( 'return'=>$responseText, 'http_code'=>$httpCode, ); $data = @json_decode($responseText, 1); //print_r($data); return $return; }
B: 記憶體4G
function get_userinfo($uid=0){ $DB1 = $this->load->database('69', TRUE); //echo date("H:i:s")."--{$uid}<br>"; $sql = "SELECT * FROM t_user_test WHERE uid = {$uid} "; $query = $DB1->query($sql); echo json_encode($query->row_array(), 1); exit; }
增加了更新本地資料庫操作後:
$row = $this->curl_get69($uid); if($row && isset($row['uid'])){ $this->db->where('uid', $row['uid']); unset($row['uid']); $this->db->update('t_user_test', $row); }
查詢 10000 次。
耗時:1387 秒