FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Porque el Proceso fb_smp_server muestra un consumo alto
Hola a todos. Buenos hace mucho tiempo estoy trabajando con firebird, tengo un proyecto que inicie hace ya algunos años y del cual en algunos momentos he acudido al foro para obtener una respuesta o una luz a algunos inconvenientes presentados, pues bien, actualmente tengo un servidor virtual 4 cores, 4 gigas en RAM, 50 DD, ubuntu 12.04, firebird 2.5 classicserver y apache.. el caso es que últimamente el consumo del la cpu esta entre 70% y el 90% de forma general pero si lo miro por proceso fb_smp_server el uso de la cpu muestra un consumo de 370% en promedio. Alguien sabe a que se debe esto o que debo mirar....
Les agradezco cualquier idea. Última edición por subzero fecha: 29-12-2014 a las 16:23:10. |
#2
|
||||
|
||||
Hola, imposible ayudarte con los datos que has dado
|
#3
|
||||
|
||||
Básicamente, lo único que se deduce de lo que has presentado es que FB es quien está consumiendo los recursos del servidor.
Habría que ver qué es lo que se está ejecutando en esa base de datos. * INSERTs/UPDATEs/DELETEs * Ejecución de un SP * SELECTs Deberías mirar que es lo que ejecutan los triggers/sp. Por ejemplo un select buscando el MAX(campo) de una taba con millones de registros sin utilizar índices o utilizando índices inadecuados. Esto se solucionaría agregando un índice descendiente sobre el campo que deseas. También puede ser que un trigger haga operaciones sobre otras tablas, que a su vez hacen operaciones sobre otra tabla, que a su vez... Si ves que se trata de SELECT complejo (con JOIN/UNION/GROUP BY, etc.) deberías ejecutarlo y ver qué PLAN está utilizando (qué índices y si son óptimos). Seguramente se puede optimizar. Además de esto, podría ver cómo está tu base de datos mediante un GSTAT -h. Mira la diferencia de transacciones entre la última activa y la reciente. Si la diferencia es más de 20.000 deberías mirar qué es lo que bloquea el commit de las trasnacciones. Cita:
Última edición por Casimiro Notevi fecha: 29-12-2014 a las 17:20:29. |
#4
|
|||
|
|||
duilioisola, muchas gracias. Efectivamente es una consulta que obviamente estaba generando el problema del consumo ya bajo algo pero aun sigue sobre 300%... conoces de alguna herramienta parecida al monitor de sql server que monitore las consultas algo como el administrador de consultas.... esto a razón que no es una sola base de datos sino varias.... Nuevamente muchas gracias.
|
#5
|
||||
|
||||
Existen herramientas que se meten entre la base de datos y el cliente para revisar el tráfico de consultas.
Ya que trabajas con FB2.5, puedes probar leyendo la tabla MON$STATEMENTS. En el campo MON$SQL_TEXT encontrarás la sentencia SQL que las conexiones activas han ejecutado en las transacciones activas. Una vez que la transacción se termina, se elimina de esta tabla. Podrías hacer POLLING de esta tabla. (es gratis y quizás descubras algo interesante) Código:
ULTIMO_STATEMENT_ID = 0 WHILE () DO BEGIN SELECT MON$STATEMENT_ID, MON$SQL_TEXT FROM MON$STATEMENS WHERE MON$STATEMENT_ID > :ULTIMO_STATEMENT_ID Guardas estos datos en un log ULTIMO_STATEMENT_ID = MON$STATEMENT_ID Esperas un tiempo (1 segundo por ejemplo) END |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
email yahoo, no muestra contenido..muestra todo menos contenido. | sakuragi | Linux | 5 | 29-02-2008 18:11:27 |
Alto consumo de memoria virtual!! | Alunizator07 | Varios | 6 | 01-03-2007 21:05:34 |
¿Porque me marcara Error en QReport al Detener el Proceso de Pagineo? | AGAG4 | Impresión | 2 | 19-08-2006 03:36:18 |
Consumo de memoria | Telemaco | Conexión con bases de datos | 0 | 26-10-2004 15:59:44 |
El dbgrid no muestra todo el contenido, porque? | URBANO | Conexión con bases de datos | 1 | 14-06-2004 19:01:15 |
|