visual unitarias studio pruebas hacer ejemplo como php laravel laravel-5 laravel-5.2 laravel-5.1

php - studio - Problema al hacer pruebas unitarias para el rendimiento del código



pruebas unitarias java (3)

¡Estaba probando mi código para comprobar cómo se comportaría si pensamos que 100 usuarios enviaron su registro de una sola vez!

Mi código está en PHP Laravel 5.2 y JQuery Ajax está debajo.

for (i = 0; i < 100; i++) { var data={''Role'' : "Role"+i}, request = $.ajax({ url: ''http://localhost:1234/Practise/public/api/SaveRoleApi'', type: "POST", data: JSON.stringify(data), contentType: "application/json; charset=utf-8", async: true, success: function(d){ console.log(d); } }); }

De 100, no puedo enviar más de 88 registros.

Estoy usando la base de datos MySQL.

si mi código anterior agregará registros secuencialmente ... ¿hay alguna manera de probar 1000 solicitudes concurrentes desde una computadora?


Me propongo usar una herramienta específica para este propósito como cargador . Tenga en cuenta que su aplicación web debe ser accesible desde el mundo exterior.


Intentar solicitudes múltiples desde un navegador utilizando JavaScript para crear todas las conexiones no es una buena idea, de hecho no está probando la concurrencia muy bien.

Considere usar una herramienta de prueba de carga real como JMeter (definitivamente lo recomiendo), o al menos solicitudes de curl paralelas en un script por lotes.

for n in {1..1000}; do for i in `eval echo {$n..$((n+999))}`; do echo "club $i..." curl -X POST -H "Content-Type: application/json" -d ''{"param1":"xyz","param2":"xyz"}'' -s "http://localhost:1234/Practise/public/api/SaveRoleApi" >> log.txt done & wait done


Es posible que desee estudiar el uso de la funcionalidad múltiple de PHP Curl. http://php.net/manual/en/function.curl-multi-init.php

$mh = curl_multi_init(); $ch = []; for ($i = 1; $i < 100; $i++) { $data = "Role=Role$i"; $ch[$i] = curl_init(); curl_setopt($ch[$i], CURLOPT_URL, ''http://localhost:1234/Practise/public/api/SaveRoleApi''); curl_setopt($ch[$i], CURLOPT_POST, 1); // Number of post fields, in this case just one. curl_steopt($ch[$i], CURLOPT_POSTFIELDS, $data); curl_multi_add_handle($mh, $ch[$i]); } $active = null; do { $mrc = curl_multi_exec($mh, $active); } while ($mrc = CURLM_CALL_MULTI_PERFORM); while ($active and $mrc == CURLM_OK) { if(curl_multi_select($mh) !== -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } for($i = 0; $i < 100; $i++){ curl_multi_remove_handle($mh, $ch[$i]); } curl_multi_close($mh);