Mauricio A. Ferrari wrote:

> --- Adrian Pablo Ali <[EMAIL PROTECTED]>
>escribió:
>
>  
>
>>Una pregunta, alguien uso este o alguno parecido, lo
>>que veo que para
>>muchas conexiones concurrentes es ideal, en una
>>prueba que hice usando
>>la cache los tiempos de accesos bajaron de 4 a 5
>>veces menos que sin
>>ella, yo nunca lo habia usado y me sorprendio. Pero
>>el tema es que yo
>>tengo un consulta muy grande, es una sola consulta
>>que tiene que pasar
>>de mysql a apache una cantidad de 17 mbytes
>>aproximadamente, lo que son
>>unos 50 mil registros y segun veo el mysql y el
>>apache se lo comen al
>>microprocesador entre ellos para hacer esta tarea.
>>Bueno apc no me sirve
>>porque su utilidad es cuando tenemos muchas
>>conexiones concurrentes y su
>>trabajo es evitar que se este parseando el archivo
>>de php a cada rato, o
>>sea lo que cachea es eso, en cambio yo tengo una
>>sola request por lo
>>tanto una sola parseada pero con una transferencia
>>muy grande entre
>>mysql y apache, alguna idea?
>>    
>>
>
>Turquini, se me ocurre que tal vez haga falta
>optimizar la consulta SQL que estas usando. Esto lo
>digo sin conocer APC, pero es claro como decis que
>tenes una sola conexion el problema pasa por otro
>lado. Y se me ocurre que puede estar en la consulta.
>Si lo corres en un equipo respetable, 50000 registros
>no es nada en BDD.
>
>Si podes detallar, mostra el SQL de la tabla y la
>consulta que ejecutas.
>
>Saludos.
>
>Mauricio.
>
>__________________________________________________
>Correo Yahoo!
>Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
>¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
>_________________________________
>Lista de correo - L U G Tucumán         
>http://www.lugtucuman.org.ar
>
>  
>
La consulta en cuestion en php es:

select id_titulares, nombre, apellido, dni, poliza, domicilio_cobro,
departamento_cobro, localidad_cobro, codigo_postal_cobro, activo from
titulares where codigo_cobradores=$codigo_cobradores and activo=1

el campo codigo_cobradores es un indice en dicha tabla.

Por ejemplo el cliente mysql del shell me dice que esa consulta demora
0.47 sec (eso significa que es menos de un segundo creo) cuando en
realidad el cliente demora en hacerme ver los datos unos 20 segundos
(delay que creo que es culpa de que la informacion demora en dibujarce
en la pantalla), bueno en el caso de mandarla a la consulta desde el
cliente mysql veo que a lo sumo el demonio de mysql chupa un 5% de cpu.
Bueno cuando la hago desde php veo que entre apache y mysql se comen
cada uno un 50% de cpu y encima demora unos 120 segundos con el
apachebenchmark porque si lo hago con el navegador ahi si que le cuesta
mas todavia. Segun tengo la impresion el problema no esta en la base de
datos, ya que esta en realidad responde rapido (segun el cliente) para
mi el problema esta en como el mysql va pasando estos datos al php o en
todo caso como el php pide estos datos al mysql, por eso ando en la
busqueda de algun intermediario que pida rapido a mysql y devuelva
rapido a php.

Saludos
_________________________________
Lista de correo - L U G Tucumán         
http://www.lugtucuman.org.ar

Responder a