테스트 사이트 - 개발 중인 베타 버전입니다

file_get_contents VS cURL 속도

· 9년 전 · 4969 · 7

흠.. 

흔히들 말하는 file_get_contents 는 드라이버 라면

cURL 은 공구상자이다 라는 말은 듣기만 하였지 설마 작업하면서 얼마나 큰 이슈가 있겠어?

라고 무시하며 작업을 하던 저였습니다.

 

최근에 작업내용 중 DB 상에 존재하는 외부 주소 (이미지) 를 호출하여 tmp 에 파일을 생성 후 

ZipArchive 처리하는 이슈가 있었습니다.

처음에는 fild_get_contents 로 처리하고 addFromString 로 처리 하였습니다. 

잘 돌아가고 편했습니다. 코드 자체가 간결했으니까요.

 

문제는 200여개가 넘어가니 생겼습니다. 파일을 읽어와서 쓰는 시간이 상대적으로 느려졌거든요.

너~~무 느려서 처음에는 타임아웃이 걸렸습니다. 그래서 타임아웃 시간을 0으로 잡았습니다.

그래도 너~~무 느렸습니다.

 

인터넷 검색중 cURL 이 약 4배정도 빠르다는 글을 보았습니다.

코드를 바꿨습니다.

헉!

진짜 약 4배의 속도 차이가 나더군요..

 

아래 주소는 검색하다 본 링크 입니다.

https://mdb9.wordpress.com/2011/03/06/file_get_contents-vs-curl-what-has-better-performance/ 

개인적으로는 file_get_contents 가 참 마음에 들었는데..

많은 파일을 읽고쓴다면 기피해야겠다는 생각을 하게 되었습니다.

 

p.s 쓰고 보니 일기 쓴거 같네요 하하..

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 7개

속도보다 더 큰 차이가 있습니다.
file_get_contents 는 서버 설정을 탑니다.
?! 서버 설정이라면 사용조건을 말씀하시는건가요?
아님 stream_context_create 이거와 같은 별도 설정을 할 수 있다는 말일까요?
잘 이해가 안되어 질문 드려봅니다!
file_get_contents을 사용할수 없게 해두는 설정입니다.
fopen = false일때는 사용할수 없으며 대부분의 호스팅에서 보안을 위해 막아둡니다.
9년 전
file_get_contents 는 업체에서 막아놓는 경우가 너무 많아요 ㅠㅠㅠㅠ
습관화 cURL...
allow_url_fopen 말씀하시는 듯합니다.
깡패24 같은 경우는 웹 호스팅일 경우 어지간해서는 죄다 오픈을 하더라구요.
심지어 global_register도 On...

file_get_contents 정말 편한데 안 되는 곳이 많아서 애초에 그냥 저건 안 되겠거니 생각하고 cURL을 씁니다.
아! 어떤 의미인지 이해했습니다.
호스팅을 이용하여 개발하는 입장이 아니다보니
그런 제약사항을 겪어본적이 없었지만
호스팅이라면.. 그럴 수 있겠네요
네 allow_url_fopen 맞아욤 ㅋㅋ 진짜 이것때문에 속터질때가 많아서 습관적으로 cURL을 먼저 생각합니다. cURL로 받은 스트링을 simple_dom_html 클래스에 넣어서 쓸수도 있습니다.

게시글 목록

번호 제목
1717629
1717626
1717625
1717621
1717619
1717611
1717610
1717609
1717607
1717601
1717598
1717591
1717590
1717583
1717575
1717572
1717568
1717566
1717549
1717545
1717533
1717512
1717511
1717508
1717495
1717479
1717473
1717470
1717463
1717452