2010-06-23 1 views
1

나는 다음에 온다 PHP 스크립트가 있습니다.PHP 멀티 스레드 CURL 능력 질문

내 질문에, 2,000 개의 URL을 순환하려고하면 무엇을 기대할 수 있습니까?

많은 CURL 연결을 열면 내 서버가 손상됩니까? 1 분 안에 2000 명 모두 발사 할 수 있습니까?

내가하려는 것은 연결을 열고 원격 스크립트를 실행하여 사용자가 cronjob을 설정하지 못하게하려는 것입니다.

조언 해 주실 수 있습니까? 나는 오늘 내 리그에서 나간다.

+0

많은 CURL이 있습니다. x_x – Polaris878

답변

3

허드슨 curl_multi_init를 살펴 보자. 여러 프로세스를 시작하지 않으므로 서버에서 더 부드럽게 처리해야합니다.

서버가 처리 할 수있는 부하와 스크립트의 복잡성에 따라 한 번에 3-15 만 실행하는 것이 좋습니다. 2000은 한 번에 파일 설명자 또는 다른 제한이 부족하게 만들 것입니다.

+0

사실 더 깨끗하고 속도는 빠릅니다. ("curl $ url>/dev/null &");>/dev/null이기 때문에 이동하기 전에 출력을 완료해야 할 필요성을 무시하십시오. – atwellpub

+0

@atwl HEAD 요청을 보내도록 설정 한 다음 원격 서버는 헤더 만 보내고 무시할 수 있습니다 (/ dev/null로 전송). 마술처럼 빠른 것은 아님) – Artefacto

+0

원격 스크립트가 완료되기까지 3 분이 걸리면 (데이터 컴파일러) 반환 된 HEAD가 읽음 확인으로 작동하고 3 분 동안 연결이 계속 열려 있는지 확인하십시오. – atwellpub

1

서버의 파일 최대 한도에 도달하지 않도록 opened files (연결) 수를 주시해야합니다.