$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 ?
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
Cela fait 5 simultanéités, en boucle 70 fois. . . Rien de spécial