接口查詢刷新測試,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 秒



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章