Multithreading - isu ujian serentak curl_multi_init dengan PHP
世界只因有你
世界只因有你 2017-06-13 09:21:51
0
2
768
    $query_arr = array();
    for ($k = 0;$k<5;$k++){//请问5代表的是什么?
        $query_arr[] = 'http://www.segmentfault.com/json';
    }
    for ($i = 0;$i<70;$i++){//请问70代表的是什么?
        $ch = curl_multi_init();
        $count = count($query_arr);
        $ch_arr = array();
        for ($j = 0; $j < $count; $j++) {
            $query_string = $query_arr[$j];
            $ch_arr[$j] = curl_init($query_string);
            curl_setopt($ch_arr[$j], CURLOPT_RETURNTRANSFER, true);
            curl_multi_add_handle($ch, $ch_arr[$j]);
        }
        $running = null;
        do {
            curl_multi_exec($ch, $running);
        } while ($running > 0);
        for ($l = 0; $l < $count; $l++) {
            $results[$l] = curl_multi_getcontent($ch_arr[$l]);
            curl_multi_remove_handle($ch, $ch_arr[$l]);
        }
        curl_multi_close($ch);
    }

Apakah yang diwakili oleh 5 dan 70 dalam kod?

世界只因有你
世界只因有你

membalas semua(2)
阿神

Lima URL telah dibuat (ps: 5 URL ini adalah sama) dan dilaksanakan sebanyak 70 kali secara keseluruhan, bermakna sejumlah 350 permintaan boleh difahami sebagai 5 pelaksanaan serentak 350 kali
Serupa dengan ab's ab -c 5 -n 350 http ://www.segmentfault.com/json

Walau bagaimanapun, curl_multi_init ialah kaedah pemultipleksan IO, yang agak berbeza daripada antara muka ujian tekanan sebenar Anda boleh mencuba ab siege
atau menggunakan pthreads untuk melaksanakan skrip untuk ujian serentak

.
黄舟

Itu 5 mata wang, bergelung 70 kali. . . Tiada yang istimewa

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan