recherche

Maison  >  Questions et réponses  >  le corps du texte

Multithreading - problème de test de concurrence curl_multi_init avec PHP

    $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);
    }

Que représentent les 5 et 70 dans le code ?

世界只因有你世界只因有你2815 Il y a quelques jours801

répondre à tous(2)je répondrai

  • 阿神

    阿神2017-06-13 09:23:51

    Cinq URL ont été créées (ps : ces 5 URL sont identiques) et exécutées 70 fois au total, ce qui signifie qu'un total de 350 requêtes peut être compris comme 5 exécutions simultanées 350 fois
    Similaire à ab's ab -c 5 -n 350 http https://www.segmentfault.com/json

    Cependant, curl_multi_init est une méthode de multiplexage d'E/S, qui est quelque peu différente de la véritable interface de test de stress. Vous pouvez essayer ab siege
    ou utiliser pthreads pour exécuter des scripts pour des tests simultanés

    .

    répondre
    0
  • 黄舟

    黄舟2017-06-13 09:23:51

    Cela fait 5 simultanéités, en boucle 70 fois. . . Rien de spécial

    répondre
    0
  • Annulerrépondre