get_file_content 和curl的比較,誰更好?
阿新 • • 發佈:2019-01-29
最近在寫公司的抓取百度快照的時候,用到了這兩個函式 。
一開始用的是網上搜的獲取快照的程式碼,看了下思路就寫了get_file_content。
把邏輯寫完,開始用php artisan console 開始跑,跑到幾十條資料,就開始停住,不過還好時不時的還會動一下,深感欣慰,雖然資料庫裡面幾萬條資料,算了下8個小時就能跑完了,就把命令放旁邊跑了,繼續幹別的事情。
結果跑到3820條時候,報了個錯誤。
file_get_contents(XXXXXXXXXXXXXXXXX) :fail to open stream:HTTP request failed!
google了一下,在StackOverflow上看到別人說用curl。抱著試試看的心態換了curl 。
然後又跑了一下。
三個字。
起飛了。
後來統計了一下:
file_get_content
17:06 0-3820 15:48 78分鐘 0.02/min 1.13秒每條curl
17:20之後 改用curl 3820開始 17:37 7611 《7935》《8225》1min 300 0.2S每條 17:53 10000 6180 33 0.3S
這差距,驚呆了好嗎。
搜了下原理:
主要是curl 會做dns快取 ,減少了dns查詢的開銷時間