私は大きなデータベーステーブルを持っているので、電話番号を抽出して列番号を抽出してPOSTに入れて時間を増やす方法はありますか?見つかった行ごとにwhileループでカールを実行するので、助けてくれてありがとう。ループ内でのcURLの使用 - 遅すぎる問題
答えて
CURLを使用する場合は、リモートサーバーとの通信に時間がかかります。単一のCURLリクエストをスピードアップする方法はありません。ただし、リモートWebサイトをすばやくロードできる優れたサービスプロバイダでサーバーがホストされていることを確認する必要があります。
CURLリクエストを並行して実行することで、スクリプトをスピードアップできます。これを行うには、CURL関数を別のPHPファイルに移動します。このファイルでは、コマンドライン引数($ argv)を使用して電話番号をパラメータとして受け取ります。 スクリプトには、データベースをCURL結果で更新するためのコードも含める必要があります。
次に、exec()を使用してスクリプトを呼び出します。たとえば、スクリプトがcheckphone.phpの場合は、次のように呼び出します。
exec('php -f /var/www/include/checkphone.php '.$phoneNumber.' > /dev/null 2>&1 &');
完全なディレクトリが用意されています。また、使用:
を/ dev/null 2>
は、システムが稼働して終了するスクリプトを待つ必要はない知っているように。それはcheckphone.phpを実行し、ループを繰り返し続けます。
注意点:数百の電話番号がある場合、これは何百ものプロセスを開き、おそらくサーバーをクラッシュさせるでしょう。一度にいくつかの並行プロセスだけを開くように、マスタースクリプトのコントロールを構築します。これは、引数として送信した電話番号がCURLスクリプトによって追加情報で更新されているかどうかをデータベースに照会することによって実行できます。 また、あまりにも多くのリクエストをリモートサーバーに送信するのが速すぎないことを確認してください。そうしないと、サーバーのDDoSingが終了します。これはno-noです。 必要な情報を提供できる複数のリモートサイトがある場合は、それらの間を反復することを検討してください。
こんにちはIDAN、この非常に詳細な答えをありがとう、今私は非常によくカールの機能を理解して、私は私の私の現在のコードは1回のカールコールを処理するのに2〜3秒かかりますが、あなたが言ったように、さらに加速すれば、それはターゲットサーバを吐き出すでしょう、もう一度、ありがとう、ありがとう。 – Belicoff
すべてのリクエストを1つにしてから、1つのリクエストのみを送信します。それは動作するのですか、ターゲットは要求ごとに1つの電話番号だけを受け入れますか?
hi MIRO、はいターゲットはリクエストごとに1つの値しか受け入れないため、処理に2〜3秒かかります – Belicoff
- 1. ループと遅延の問題
- 2. 問題をループ内の遅延と同期させる
- 3. シェルスクリプトでcurlを使用する際の問題
- 4. ScrollViewが遅すぎる - メモリ管理の問題?
- 5. whileループでcurlコマンドを使用する
- 6. php cURLの問題
- 7. cURLファイルアップロードの問題
- 8. cURLダウンロードファイルの問題
- 9. CURLリクエストの問題
- 10. UNION内のSPARQL BINDが遅すぎる
- 11. 遅延レンダリングでシャドーマップを使用する際の問題OpenGL 3.3
- 12. sshfsでのgitの使用が遅すぎる
- 13. WordPressのホームページが遅すぎる、投稿はうまくいく?フレームワークの問題?
- 14. PHP curl/jsonの問題POST
- 15. python + jsonとcurlの問題
- 16. JSONとCURLの問題
- 17. cURL - 解決の問題
- 18. CURLとJSONの問題
- 19. cURL POSTリクエストの問題
- 20. cURL try catchの問題
- 21. 電子メール内のforeachループの問題
- 22. ループの問題と適用
- 23. CURLアップロードファイルbox.com問題
- 24. CurlでGoogleを認証する問題
- 25. RedHatでのCuRL SSLハンドシェイクの問題
- 26. WikiMediaサイトでの「curl」の問題
- 27. ループ内のdispatchQueueの使用
- 28. textFieldDidEndEditing "遅すぎる"
- 29. Javaのループ内でリストに追加するときの問題
- 30. VBaのレコードセットによるループ処理が遅すぎる
私たちにあなたの試行を最初に教えてください。 – Farkie
なぜ各行に対してリクエストを実行しましたか?結果を収集し、リクエスト配列で** one **リクエストを実行してください...それは多くのperformanterになるでしょう – donald123