1. 程式人生 > >介面查詢重新整理測試,1W次請求查詢獲取資料

介面查詢重新整理測試,1W次請求查詢獲取資料

查詢 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 秒