problema con servidor con mucho trafico.

2008-09-30 Thread Miguel Oyarzo O.
Felipe Román Márquez escribió:
>Hola a todos, les escribo por que estoy a punto de decir que está 
> máquina está poseída.
> 
> en detalle:
> 
> centos 5.2
> 4gb ram ecc FB-DIMM
> 2 quad-core (8 nucleos en total a 2.0ghz)
> arreglo de discos decente.
> 
>  
> 
> cualquier tip o ayuda será muy bienvenido, de antemano muchas gracias.
> 

que te dice rkhunter cuando lo corres?


Slaudos,

Miguel Oyarzo O.
Austro Internet S.A.
Punta Arenas
From [EMAIL PROTECTED]  Tue Sep 30 07:26:17 2008
From: [EMAIL PROTECTED] (=?ISO-8859-1?Q?Felipe_Rom=E1n_M=E1rquez?=)
Date: Tue Sep 30 08:21:43 2008
Subject: problema con servidor con mucho trafico.
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
<[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>



El 30-09-2008, a las 1:10, Germán Póo-Caamaño escribió:

>>
>
> que te dice iostat? vmstat?

todo dentro de los parametros normales.

iostat:
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
6.000.001.940.060.00   92.00

Device:tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda   1.5040.00 0.00 80  0


vmstat:

procs ---memory-- ---swap-- -io --system--  
-cpu--
  r  b   swpd   free   buff  cache   si   sobibo   in   cs us  
sy id wa st
  0  0 155572 375364 108492 266343600141000  
16  2 81  0  0
  0  0 155572 374744 108492 266348000 0 0 1452  600   
3  0 97  0  0
  0  0 155572 374868 108508 266347200 080 1447  365   
1  0 99  0  0
  0  0 155560 373628 108508 266352400 0 0 1378  806   
8  0 92  0  0
  1  0 12 373512 108512 266352800 2 0 1504  526   
5  0 95  0  0


>
> No es tanta una carga de 2 ó 3.  Me imagino que responde bien el  
> sistema
> si es que tienes respuesta con htop y tail.  De hecho, debieras  
> tenerla.

antes del tuning tenía un Load Average de 8.
ahora en promedio no llega a 3. (esto en gran parte por hacer que  
mysql trabaje en varios threads y que lighttpd también.


>
> Esto también incide en la memoria en uso.  Puedes deshabilitar  
> KeepAlive
> en las conexiones HTTP o dejarlo en 1 segundo.

rara vez el server llega a usar más de 1.3gb de ram, la gran mayoría  
de eso es mysql (como 800mb de ram)


> Una cosa es afinar el motor de BD y otra es afinar las BD (tablas,
> índices, consultas).

lo sé, pero yo no puedo meterme ahí, no me corresponde.

> Si lighty sigue respondiendo, el problema lo puedes tener en la
> comunicación con la base de datos.
>
> Podrías utilizar fast-cgi para mejorar el rendimiento de PHP con  
> lighty,
> pero es muy probable que el problema esté en la aplicación o en la  
> base
> de datos, ya sea por algún bloqueo, consultas no optimizadas,  
> deadlocks,
> etc.  En tal caso, revisa como analizar lo que hace el planificador de
> MySQL.

ya está usando fast-cgi y lua para trabajar con php5.


> Las optimizaciones en la infraestructura sirven, pero no tanto si las
> aplicaciones utilizan fuerza bruta para funcionar.

si lo sé, el problema es que no tengo logs de nada, estoy dando palos  
de ciego, no se por que el servidor deja de responder.


> Suerte,

muchas gracias.
From [EMAIL PROTECTED]  Tue Sep 30 08:56:03 2008
From: [EMAIL PROTECTED] (=?ISO-8859-1?Q?Felipe_Rom=E1n_M=E1rquez?=)
Date: Tue Sep 30 08:56:15 2008
Subject: problema con servidor con mucho trafico.
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
<[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>


El 30-09-2008, a las 2:14, Miguel Oyarzo O. escribió:

> Felipe Román Márquez escribió:
>>   Hola a todos, les escribo por que estoy a punto de decir que está  
>> máquina está poseída.
>> en detalle:
>> centos 5.2
>> 4gb ram ecc FB-DIMM
>> 2 quad-core (8 nucleos en total a 2.0ghz)
>> arreglo de discos decente.
>> cualquier tip o ayuda será muy bienvenido, de antemano muchas  
>> gracias.
>
> que te dice rkhunter cuando lo corres?

todo OK.

no le encuentro errores, pero aun así tiene esos lapsos en que la  
carga baja a cero y el sito deja de responder y no hay logs de errores  
de nada por ninguna parte :(
From [EMAIL PROTECTED]  Tue Sep 30 10:14:17 2008
From: [EMAIL PROTECTED] (Aldrin Martoq)
Date: Tue Sep 30 10:44:48 2008
Subject: problema con servidor con mucho trafico.
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

On Tue, 2008-09-30 at 00:45 -0400, Felipe Román Márquez wrote:
> Hola a todos, les escribo por que estoy a punto de decir que está  
> máquina está poseída.
[..]
> ahora el real "problema"  es a la hora de mayor carga. aprox 8pm.
> tengo abiert

problema con servidor con mucho trafico.

2008-09-30 Thread Felipe Román Márquez


El 30-09-2008, a las 10:14, Aldrin Martoq escribió:

> On Tue, 2008-09-30 at 00:45 -0400, Felipe Román Márquez wrote:
>> Hola a todos, les escribo por que estoy a punto de decir que está
>> máquina está poseída.
> [..]
>> ahora el real "problema"  es a la hora de mayor carga. aprox 8pm.
>> tengo abierta una consola para ver htop, otra con tail -f al  
>> messages,
>> otro tail -f al lighttpd/error_log  y  tail -f al log de errores de
>> mysql.
>> mirando el htop, con los 8 nucleos con carga (Load Average de 2 a  
>> 3 ),
>> sin previo aviso y sin logs de errores ni warnings, todos los nucleos
>> se van a CERO carga, y el sitio no funciona.
>> no hay logs, no hay avisos, no hay nada, pasa aprox 1 minuto y sube  
>> la
>> carga de nuevo y el server sigue trabajando como si nada
>
> Lo primero es buscar culpables. Veo solo dos componentes: el servidor
> lighttpd y la base de datos mysql. Entonces cuando se pega revisa  
> quien
> esta tieso: o la base de datos o el lighttpd. Para http, create una
> pagina php con sesion de prueba pero sin base de datos; para mysql
> create una consulta con una tabla nueva (o base de datos distinta) y
> otra con tablas de la base de datos.

ya hice lo de la mysql y sigue funcionando cuando pasa esto, no he  
probado lo del light. pero estoy 99.9% seguro de que el problema está  
ahí.

>
>
> Lo segundo es ver que le pasa. Al ojimetro, tiene pinta de algun
> deadlock en la base de datos que se libera tras 1 minuto.
>
>
> Que tipo de tablas estas usando? Trata de buscar los parametros, debe
> haber alguno que este cerca de los 60 segundos, por ejemplo mira esto:
>

MyISAM

> # You can set .._buffer_pool_size up to 50 - 80 %
> # of RAM but beware of setting memory usage too high
> innodb_buffer_pool_size = 8000M
> #innodb_additional_mem_pool_size = 80M
> # Set .._log_file_size to 25 % of buffer pool size
> innodb_log_file_size = 1000M
> #innodb_log_buffer_size = 32M
> #innodb_flush_log_at_trx_commit = 1
> #innodb_lock_wait_timeout = 50
> ^^^
>




problema con servidor con mucho trafico.

2008-09-30 Thread Juan Manuel Doren
>
> no le encuentro errores, pero aun así tiene esos lapsos en que la carga baja
> a cero y el sito deja de responder y no hay logs de errores de nada por
> ninguna parte :(
>


¿como sabes que el sitio no responde?
¿pruebas desde fuera?
¿pruebas desde dentro de la maquina?
¿localmente puedes conectarte al mysql?
¿si te conectas cuantos queries hay?
¿hay alguno en estado locked?
¿en ese momento cuantos procesos del servidor web estan corriendo?
¿cuantas conexiones te muestra el netstat?
¿tienes procesos en crontab para esa hora?


problema con servidor con mucho trafico.

2008-09-30 Thread Felipe Román Márquez

>>
>> no le encuentro errores, pero aun así tiene esos lapsos en que la  
>> carga baja
>> a cero y el sito deja de responder y no hay logs de errores de nada  
>> por
>> ninguna parte :(
>>
>
>
> ¿como sabes que el sitio no responde?
> ¿pruebas desde fuera?
> ¿pruebas desde dentro de la maquina?
> ¿localmente puedes conectarte al mysql?
> ¿si te conectas cuantos queries hay?
> ¿hay alguno en estado locked?
> ¿en ese momento cuantos procesos del servidor web estan corriendo?
> ¿cuantas conexiones te muestra el netstat?
> ¿tienes procesos en crontab para esa hora?
>

1) por que la pagina no hace nada.
2) si, el servidor está en USA, todo se hace remoto, lo pruebo con el  
navegador de mi casa.
3) no
4) si puedo.
5) ninguno ya que el sitio no responde y las consultas a la db se van  
a cero.
6) no
7) son 4 workers y montones de spwan de fast-cgi (fácil unos 20  
procesos derivados del lighttpd
8) solo unas pocas, ninguna desde el sitio.
9)nop, no hay crontabs a esa hora.

algo apareció en un log de lighttpd

establishing connection failed: Connection refused socket: tcp:127.0.0.1
fcgi-server re-enabled: tcp:127.0.0.1

dentro de la escuálida documentación de lighttpd encontré esto:

error fantasma o error 500 en foros con mucho tráfico.
muchas veces no deja logs ni muestra errores (como en este caso)
en otro muestra un error 500.

la posible solución es una configuración del modulo de fast-cgi


//
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/var/tmp/lighttpd/php-fastcgi.socket",
"max-procs" => 3,
"bin-path" => "/usr/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "8",
"PHP_FCGI_MAX_REQUESTS" => "8000"
)
)
)
)
//

cosa que ya implementé (con valores adecuados a la carga del  
servidor), hasta ahora no ha vuelto a pasar.

esperemos a ver que pasa.


gracias a todos.

si tienen algo que comentar, aportar o alegar, no dejen de hacerlo,  
siempre es útil cualquier comentario.
From [EMAIL PROTECTED]  Tue Sep 30 19:20:41 2008
From: [EMAIL PROTECTED] (Lorenzo Ponce)
Date: Tue Sep 30 19:47:48 2008
Subject: Mysql, consulta registro sin integridad referencial
Message-ID: <[EMAIL PROTECTED]>

Estimados, en primer lugar, no sé si esta es la lista adecuada por lo que no vi 
una de base de datos, si no lo es, favor indicar (con una vez basta).

Tengo una base de datos MyISAM (MySQL), y tengo la necesidad de rescatar datos 
de una tabla cuya integridad referencial no existe.

Es sencillo sacar los que tienen su PK con la FK en otra tabla, WHERE 
idCampo=fkCampo, pero lo que quiero es sacar aquellos registros que NO tienen 
hecha la relación.

He intentado usando selects anidados y funciones como NOT IN, lo cual funciona 
bien con pocos registros, pero al crecer la cantidad de registros se torna 
demasiado lento por los selects que debe hacer en cada vuelta.

Me gustaría me indicaran alguna solución más eficiente. Me imagino que llenar 
de OR la consulta sería poco eficiente también.

Favor, omitir comentarios del tipo cámbiate a postgres, u otros, que no 
contribuyan a la solución de codificación requerida.

Muchas gracias.
LP



  

¡Todo sobre Amor y Sexo!
La guía completa para tu vida en Mujer de Hoy.   
http://mujerdehoy.telemundo.yahoo.com/
From [EMAIL PROTECTED]  Tue Sep 30 20:26:44 2008
From: [EMAIL PROTECTED] (Rodrigo Fuentealba)
Date: Tue Sep 30 20:26:53 2008
Subject: Mysql, consulta registro sin integridad referencial
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

Lorenzo Ponce <[EMAIL PROTECTED]> escribió:
> Estimados, en primer lugar, no sé si esta es la lista
> adecuada por lo que no vi una de base de datos,
> si no lo es, favor indicar (con una vez basta).

En general tratamos temas relacionados con bases de datos.

> Tengo una base de datos MyISAM (MySQL), y
> tengo la necesidad de rescatar datos de una
> tabla cuya integridad referencial no existe.

MyISAM... ¿por qué torturan tanto a la gente?

> Es sencillo sacar los que tienen su PK con la
> FK en otra tabla, WHERE idCampo=fkCampo,
> pero lo que quiero es sacar aquellos registros
> que NO tienen hecha la relación.

SELECT tabla1.campo FROM tabla1, tabla2 WHERE tabla1.campo1 NOT IN
(SELECT tabla2.campo2 FROM tabla2);

Eso, ¿cierto?.

http://dev.mysql.com/doc/refman/5.0/en/rewriting-subqueries.html

Haz un query rewrite como el que sigue:

SELECT tabla1.*
  FROM tabla1 LEFT JOIN tabla2 ON tabla1.id=tabla2.id
  WHERE tabla2.id IS NULL;

Con eso deberías tener un improvement.

> He intentado usando selects anidados y funciones
> como NOT IN, lo cual funciona bien con pocos registros

Querrás decir "funciona".

> pero al crecer la cantidad de registros se torna demasiado
> lento por los selects que debe hacer en cada vuelta.

El optimizador de MySQL es horrible.

> Me gustaría me indicaran alguna solución más eficiente.
> Me imagino que llenar de OR la consulta sería

problema con servidor con mucho trafico.

2008-10-03 Thread Felipe Román Márquez
encontré otro log más.

pertenece al /var/log/lighttpd/error.log

unexpected end-of-file (perhaps the fastcgi process died): pid: 0  
socket: tcp:127.0.0.1:1026
2008-10-02 22:29:05: (mod_fastcgi.c.3325) response not received,  
request sent: 996 on socket: tcp:127.0.0.1:1026 for /foro/vbseo.php ,  
closing connection


no encuentro soluciones para esto.
la verdad ya me está cansando, estoy a punto de sacar esto y poner un  
apache como dios manda.

alguna idea?

de antemano muchas gracias.


>
>>>
>>> no le encuentro errores, pero aun así tiene esos lapsos en que la  
>>> carga baja
>>> a cero y el sito deja de responder y no hay logs de errores de  
>>> nada por
>>> ninguna parte :(
>>>
>>
>>
>> ¿como sabes que el sitio no responde?
>> ¿pruebas desde fuera?
>> ¿pruebas desde dentro de la maquina?
>> ¿localmente puedes conectarte al mysql?
>> ¿si te conectas cuantos queries hay?
>> ¿hay alguno en estado locked?
>> ¿en ese momento cuantos procesos del servidor web estan corriendo?
>> ¿cuantas conexiones te muestra el netstat?
>> ¿tienes procesos en crontab para esa hora?
>>
>
> 1) por que la pagina no hace nada.
> 2) si, el servidor está en USA, todo se hace remoto, lo pruebo con  
> el navegador de mi casa.
> 3) no
> 4) si puedo.
> 5) ninguno ya que el sitio no responde y las consultas a la db se  
> van a cero.
> 6) no
> 7) son 4 workers y montones de spwan de fast-cgi (fácil unos 20  
> procesos derivados del lighttpd
> 8) solo unas pocas, ninguna desde el sitio.
> 9)nop, no hay crontabs a esa hora.
>
> algo apareció en un log de lighttpd
>
> establishing connection failed: Connection refused socket: tcp: 
> 127.0.0.1
> fcgi-server re-enabled: tcp:127.0.0.1
>
> dentro de la escuálida documentación de lighttpd encontré esto:
>
> error fantasma o error 500 en foros con mucho tráfico.
> muchas veces no deja logs ni muestra errores (como en este caso)
> en otro muestra un error 500.
>
> la posible solución es una configuración del modulo de fast-cgi
>
>
> //
> fastcgi.server = ( ".php" =>
> ( "localhost" =>
> (
> "socket" => "/var/tmp/lighttpd/php-fastcgi.socket",
> "max-procs" => 3,
> "bin-path" => "/usr/bin/php-cgi",
> "bin-environment" => (
> "PHP_FCGI_CHILDREN" => "8",
> "PHP_FCGI_MAX_REQUESTS" => "8000"
> )
> )
> )
> )
> //
>
> cosa que ya implementé (con valores adecuados a la carga del  
> servidor), hasta ahora no ha vuelto a pasar.
>
> esperemos a ver que pasa.
>
>
> gracias a todos.
>
> si tienen algo que comentar, aportar o alegar, no dejen de hacerlo,  
> siempre es útil cualquier comentario.