ホームページ  >  記事  >  バックエンド開発  >  file_get_content シリーズ関数を使用した場合と、curl シリーズ関数を使用して画像を収集した場合のパフォーマンスの比較、curl 関数_PHP チュートリアル

file_get_content シリーズ関数を使用した場合と、curl シリーズ関数を使用して画像を収集した場合のパフォーマンスの比較、curl 関数_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:01:46950ブラウズ

画像を収集するために file_get_content シリーズ関数を使用する場合と、curl 関数シリーズの関数を使用する場合のパフォーマンスの比較

企業の自動車 Web サイトの背景にある自動車コンテンツは主に Autohome からのものであるため、編集者の同僚は、毎日作業しています Autohome に手動で車を追加するのは本当に面倒です。以来、この状況を変えるために、開発コーダーとしての私の使命が課せられました。 。 。それは、対応する車のホーム URL を貼り付けるだけで、データをバックエンドのフォームに自動的に入力できる機能を準備することです。現在、基本的な入力は実装されていますが、対応する車の写真アルバムはまだ実装されていません。入ってください。

以前にも写真を収集する機能を実行しましたが、Autohome のほとんどの車には大量の写真が含まれています。最初は、以前の写真収集方法、つまり file_get_content を使用して、対応するコンテンツを取得する予定でした。次に、画像のアドレスを照合し、file_get_content を使用してこれらの画像 URL のコンテンツを取得し、それをローカルにロードします。コードは次のとおりです。 リーリー

この方法は、写真の枚数が少ない場合には問題ありませんが、写真の枚数が多すぎるとかなりラグくなることがわかりました。 。ローカルテストを実行することも困難であり、ましてやいざというときにオンラインにすることは困難です。 Baidu の後、curl メソッドを使用して画像をダウンロードしました。テスト後は改善されましたが、それでも少し遅いと感じました。PHP に複数のスレッドがあれば素晴らしいでしょう。 。 。

いくつか情報を調べた結果、PHP のcurl ライブラリは実際にマルチスレッドをシミュレートできることがわかりました。つまり、curl_multi_* シリーズの関数を使用して書き直すと、コードは次のようになりました。

リーリー

マルチスレッドのコレクションは非常に新鮮です。一連のテストと比較の結果、curl マルチスレッドは file_get_content より 4 倍高速であり、時間は file_get_content の 3 ~ 5 倍であることがわかりました。 、効率を向上させるために、今後のコレクションでこの方法を使用してみてください。

http://www.bkjia.com/PHPjc/971771.html

tru​​ehttp://www.bkjia.com/PHPjc/971771.html技術記事 file_get_content 関数シリーズを使用した場合と、curl 関数シリーズを使用して写真を収集した場合のパフォーマンスの比較。curl 関数は、会社の自動車 Web サイトの背景にある自動車コンテンツが主に自動車からのものであるためです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。