El 20/08/07, oscar reyes <[EMAIL PROTECTED]> escribió: > Hola Rodrigo > > > > > ¿Qué hay entre el servidor de bases de datos y los servidores Web? > > > Un switch, que no es el definitivo y tampoco es un equipo robusto... pienso > que esto podría ser parte del problema. >
Intenta cambiarlo por uno definitivo. Hazle un ping al servidor y mira cuántos paquetes se pierden. Fíjate que el ping numera los paquetes, así: 64 bytes from www.nic.cl (200.1.123.3): icmp_seq=1 ttl=58 time=42.0 ms 64 bytes from www.nic.cl (200.1.123.3): icmp_seq=2 ttl=58 time=119 ms 64 bytes from www.nic.cl (200.1.123.3): icmp_seq=10 ttl=58 time=30.6 ms 64 bytes from www.nic.cl (200.1.123.3): icmp_seq=11 ttl=58 time=28.0 ms Parece normal, pero icmp_seq=X te da un indicio de que algo anda mal y podría ser por ahí el problema. > ¿Qué clase de queries se ejecutan en el servidor de bases de datos? > > > Select, insert, update, delete, create, create tempory tables, drop , index > alter > Al menos en lo que me enseñaron a mí, "query" es solamente un SELECT (query == consulta); INSERT, UPDATE y DELETE son instrucciones de manipulación de datos, pero no necesariamente hacen la consulta. En este contexto, te preguntaba qué clase de queries hay, si existe algún query anidado mal hecho, y si éstos se apoyan en los índices. He visto casos en que la conexión termina abortada luego de hacer un select a demasiadas tablas y el producto cruzado (antes de hacer la discriminación de qué campos van y qué campos no) es mayor al buffer de salida. Otras veces he visto que el procesador simplemente comience a freírse antes de caerse MySQL. > En MySQL hay un log de consultas, ¿qué te dice? > > > El Log completo no lo tenía andando, al principio todo andaba bien y crece > rápidamente, voy a bajar el parámetro max_connect_errors y poner a andar > mysql.log para ver que aparece... > > Lo que si me veo en el mysql-error.log son muchos registros de conexiones > abortadas: > > [warning] Aborted connection XXXX to db: 'dbname' user 'dbuser' host > 'hostname' (Got an error reading communication packets) > No es MySQL; es problema de conexión. > ¿Cada cuánto tiempo ocurre el bloqueo? > > > Me ha pasado 5 veces, al principio bastante seguido, 3 veces en un día, > luego modifique max_connect_errors de 10 a 100 y el bloqueo ocurrió un día > después, luego lo modifiqué a 1000 y ocurrió un día después del anterior > (también había aumentado la cantidad de usuarios registrados en el sistema), > ahora lo tengo en 10000 y no ha ocurrido hace 2 días... > > Siendo MySQL puede ser hasta que una mosca está parada encima del server. > La mosca está en el switch, y creo que se está electrocutando, por eso pierdes tantos paquetes. -- Rodrigo Fuentealba Cartes Desarrollador de Sistemas - Consultor UNIX - Database Administrator

