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

file_get_contents VS cURL 속도

· 9년 전 · 4971 · 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 클래스에 넣어서 쓸수도 있습니다.

게시글 목록

번호 제목
1717252
1717247
1717243
1717237
1717225
1717214
1717208
1717203
1717189
1717183
1717177
1717172
1717163
1717162
1717156
1717154
1717153
1717141
1717140
1717138
1717113
1717111
1717105
1717099
1717085
1717076
1717072
1717065
1717062
1717050