curl api 전송시 타임아웃 채택완료
curl로 데이터를 전송테스트 하고있는데요
1~2건 전송은 잘되는데
좀 많이 보내게되면
GATEWAY TIMEOUT 에러가 발생합니다..
이게 default_socket_timeout 설정된 60초가 문제인듯하여 600 으로 변경해서 아파치 재시작까지 하고
다시 전송 해봤는데요... 동일하게 60초 정도에 타임아웃 오류가 발생하는데요...
default_socket_timeout 이거 말고 다른거 수정해야 할게 또있을가요?
답변 4개
curl 문제가 아닌듯해서 강제로 sleep(60) 하고 실행하니 동일하게 타임아웃 오류뜨네요;;
Timeout 설정을 해봐야겠네용
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
php, apache 에서 고려할 게 있습니다
1. 파일 크기
2. 연결 후 실행시간
php.ini 에서는
upload_max_filesize
max_file_uploads
post_max_size
max_execution_time
max_input_time
memory_limit
등이 있겠네요
답변에 대한 댓글 1개
upload_max_filesize = 300M
max_file_uploads = 20
post_max_size = 300M
max_execution_time = 600
max_input_time = 60
memory_limit = 512M
이렇게 되어있고
default_socket_timeout 이건 600 으로 수정하고
php-fpm 부분에
request_terminate_timeout 이거도 600 으로 변경하고
재시작 해봐도 딱 60초에서
Gateway Timeout
The gateway did not receive a timely response from the upstream server or application.
이렇게 에러가 발생 되더라고요... 음~
max_input_time = 60
이걸 수정해야하나...
구굴링 하면 Timeout 이거도 늘려 보라던데..
저녁에나 다시 시도해 봐야겠네요
댓글을 작성하려면 로그인이 필요합니다.
cURL 요청시간 제한은 다음 옵션으로 설정할수 있고
https://www.php.net/manual/en/function.curl-setopt.php
CURLOPT_TIMEOUT : 호스트 연결 후 실행시간 제한
CURLOPT_CONNECTTIMEOUT : 호스트 연결까지의 실행시간 제한
여러 요청핸들을 비동기로 동시에 수행하는 함수도 고려해볼수 있습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인