> 백엔드 개발 > PHP 튜토리얼 > 병렬 Curl 요청은 어떻게 다중 JSON 데이터 검색 성능을 향상시킬 수 있습니까?

병렬 Curl 요청은 어떻게 다중 JSON 데이터 검색 성능을 향상시킬 수 있습니까?

Patricia Arquette
풀어 주다: 2024-11-12 14:20:01
원래의
218명이 탐색했습니다.

How Can Parallel Curl Requests Enhance Performance for Multiple JSON Data Retrieval?

PHP 병렬 Curl 요청: 다중 JSON 데이터 검색 성능 향상

file_get_contents()를 사용하여 여러 JSON 데이터를 가져오는 기존 접근 방식에는 시간이 걸릴 수 있습니다. -순차적 특성으로 인해 소비됩니다. 이 기사에서는 병렬 컬 요청을 사용하여 보다 효율적인 솔루션을 탐색합니다.

주어진 코드는 URL 목록을 순차적으로 반복하고 각 URL에서 JSON 데이터를 가져와 배열에 저장하는 일반적인 접근 방식을 보여줍니다. . 그러나 이 방법은 특히 상당한 수의 URL을 처리할 때 성능을 저하시킬 수 있습니다.

이 문제를 극복하기 위해 다중 컬 요청을 활용할 수 있습니다. 멀티 컬(Multi-curl)은 여러 컬 요청을 동시에 병렬 실행할 수 있는 기술입니다. 이 접근 방식을 사용하면 다음 요청을 시작하기 전에 각 요청이 완료될 때까지 기다릴 필요가 없어 프로세스 속도가 크게 향상됩니다.

제공된 코드 조각은 다중 컬 요청 구현을 제공합니다.

$nodes = array($url1, $url2, $url3);
$node_count = count($nodes);

$curl_arr = array();
$master = curl_multi_init();

for($i = 0; $i < $node_count; $i++)
{
    $url =$nodes[$i];
    $curl_arr[$i] = curl_init($url);
    curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
    curl_multi_add_handle($master, $curl_arr[$i]);
}

do {
    curl_multi_exec($master,$running);
} while($running > 0);

for($i = 0; $i < $node_count; $i++)
{
    $results[] = curl_multi_getcontent  ( $curl_arr[$i]  );
}
print_r($results);
로그인 후 복사

요약하자면, 병렬 컬 요청은 서로 다른 URL에서 여러 JSON 데이터를 가져오는 데 상당한 성능 향상을 제공합니다. 이 기술은 요청 간 대기 시간을 최소화하여 데이터 검색 속도를 향상시키므로 다수의 URL로 작업할 때 특히 유용합니다.

위 내용은 병렬 Curl 요청은 어떻게 다중 JSON 데이터 검색 성능을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿