Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-12-2014
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Question 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.
Responder Con Cita
  #2  
Antiguo 29-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, imposible ayudarte con los datos que has dado
Responder Con Cita
  #3  
Antiguo 29-12-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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:
C:\>"C:\Program Files\Firebird\Firebird_2_5\bin\"gstat.exe -h C:\Datos\BASE_DE_DATOS.FDB -user SYSDBA -pass masterkey

Database "C:\Datos\BASE_DE_DATOS.FDB"
Database header page information:
Flags 0
Checksum 12345
Generation 148371
Page size 8192
ODS version 11.2
Oldest transaction 143954
Oldest active 143955
Oldest snapshot 143621
Next transaction 148358
Bumped transaction 1
Sequence number 0
Next attachment ID 166
Implementation ID 26
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 1
Creation date Dec 9, 2014 10:00:10

Variable header data:
Sweep interval: 0
*END*

Última edición por Casimiro Notevi fecha: 29-12-2014 a las 17:20:29.
Responder Con Cita
  #4  
Antiguo 29-12-2014
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 29-12-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 11:07:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi