2

リアルタイム入札の構築を計画しており、スループット/応答時間などの観点から PHP比較のパフォーマンスを評価しています(Java 部分はチームの他のメンバーによって処理されます) 。Java

最初の開始:

さまざまなサーバーへの 50 の http 接続を行うテスト スクリプトがあります。

1 番目のアプローチ -curl_multi_init関数を使用していて、7 秒以内に応答が得られます。

2 番目のアプローチ - 私はPHP pthreads api並列呼び出しを使用して試行しており、同じ応答時間以下を期待していますが、平均の合計時間は約 25 秒です。

ここにコードがあります

   <?php

    $g_request_arr = array(
        '0' => array(
            'request_url' => 'https://www.google.co.uk/?#q=56%2B12'
        ),
        ..
        ..
        ..
        '49'=>array(
            'request_url' => 'https://www.google.co.uk/?#q=256%2B132'
        )
    );


    class ChildThread extends Thread {

        public function __construct($urls) {
            $this->data = $urls;
        }

        public function run(){

            foreach($this->data as  $url_info ){
                $url = $url_info['request_url'];
                file_get_contents($url);
            }  

            $this->synchronized(function($thread){
                $thread->notify();
            }, $this);
        }
    }

    $thread = new ChildThread($g_request_arr);
    $thread->start();
    $thread->synchronized(function($thread){    
    }, $thread);


?>

上記のコードに何が欠けているのか、または応答を 7 秒以内にできるかどうかを知りたいです。

4

1 に答える 1