Pruebas de Implementacion

Rodrigo Fuentealba darkprox en gmail.com
Jue Dic 21 17:52:05 CLST 2006


El 21/12/06, Roman Jesus Astorga Guzman<roman_astorga en hotmail.com> escribió:
> Williams
>
> La verdad seria bueno saber de algún software que haga esto, si bien puedes
> intentar hacer unas pruebas no es lo mismo poder hacer una simulación con
> unas digamos 200 conexiones.
>
> Talvez alguna aplicación que se conecte al servidor de forma asincronica,
> esto permitiría enviar múltiples requerimientos al servidor, una especie de
> bombardeo, esta claro que deberías hacer esta prueba de otro computador de
> la red y a diferentes horarios.

algo simple para ver si es capaz? ejecuta un script asi desde unas
cuantas maquinas distintas, cada una con su server. Puedes inclusive
agregarle un timer al inicio y un time al final para ver cuanto tiempo
demora cada conexion, guardarlo dentro del array de conexiones a la
base de datos... tambien puedes hacer que duerma un rato... tambien
puedes hacer que trasvasije datos.

Como indicaba Ricardo hace un tiempo, cada vez que ejecutes una
consulta, MySQL autentica nuevamente al usuario, por lo que tambien
podrias medir hartas cositas interesantes: cuanto tiempo demora en
autenticar a tantos usuarios... consultas chicas v/s consultas
grandes, tiempo ahorrado en produccion por indizacion de algunas
tablas, etc...

// Nota... esto puede ser un suplicio para muchos servidores web
comunes y corrientes hoy en dia... juega con $max, pero no le des
tanto... si quieres probar 500 conexiones, mejor que le pongas cinco
computadores con cien conexiones cada uno... //

Para la prueba, se requiere adodb (http://adodb.sourceforge.net).

<?php

$memory_limit = ini_get('memory_limit');
$max = 100;

ini_set('memory_limit','64M');

require_once 'adodb/adodb.inc.php';

$db = array();

for($i=0;$i<$max;$i++)
{
    $db[$i][$con] = ADONewConnection('mysql');
    $db[$i][$con]->Connect('localhost','root','','database');
    echo('Conectado por '.$i.'a vez');

    $sql = 'select nombre from trabajador';
    $rs = $db->Execute($sql);

    if($rs and !$rs->EOF)
    {
        echo('...datos extraidos!!!');
    }

    $rs = $db->Execute($sql);

    if($rs and !$rs->EOF)
    {
        echo('...datos extraidos!!!');
    }

    $rs = $db->Execute($sql);

    if($rs and !$rs->EOF)
    {
        echo('...datos extraidos!!!');
    }

    $rs = null;
}

ini_set('memory_limit', $memory_limit);

?>

-- 
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas Web
Registered User 387639 - http://counter.li.org



Más información sobre la lista de distribución PHP