• Domingo 22 de Diciembre de 2024, 14:39

Autor Tema:  proceso fb_inet_server.exe  (Leído 1969 veces)

aperez

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
proceso fb_inet_server.exe
« en: Miércoles 21 de Octubre de 2009, 18:04 »
0
Hola, la situación es la siguiente:

Tenemos una aplicación en delphi 7.0 con firebird 1.5 classic server en un servidor windows 2003 server con 8 procesadores y 8 GB en RAM configurada como cliente-servidor mapeada a una unidad de red para 80 usuarios.

Cada usuario que ejecuta la aplicación abre una instancia de  fb_inet_server.exe.

Adicional a esto existe una aplicación web que se conecta a la misma base de datos y ejecuta una instancia de fb_inet_server.exe adicional.

En condiciones normales con todos los usuarios utilizando la aplicación el cpu tiene una carga de 0% a 20%  pero  hay momentos en los que la carga se eleva hasta el 100% bloqueando el servidor y dejando los procesos fb_inet_server.exe  activos aparentemente en el administrador de tareas, lo cual nos ha llevado al punto de tener que reiniciar el servidor corriendo el riesgo de que la base de datos se dañe.

Estos procesos quedan en estado “zombie” ya que ninguna ejecución del programa los esta utilizando y esto consume recursos del servidor.

Al “matar” los procesos fb_inet_server.exe que ocupan mayor carga de escritura y lectura en el servidor (aproximadamente 20) el rendimiento del procesador mejora pero aun así quedan los procesos “zombies” que en teoria keepalive de windows debería terminar después de 2 horas pero que en la práctica no se van hasta que se reinicia el servidor de forma manual o se reinicia el servicio de firebird lo cual implica un gran problema por la carga de trabajo de los usuarios.

La aplicación web se encarga básicamente de enviar encuestas masivas  y son aproximadamente 600 por dia. Una vez que el usuario recibe el mail, responde un formulario que va y graba en la base de datos.

Originalmente se creía que el problema radicaba no tanto en el envío de las encuestas  sino en las respuestas ya que se consideraba que tantas respuestas al mismo tiempo sobrecargaba el servidor, por lo cual se limito a 10 respuestas simultáneas; pero, en la última falla solo hubo 5 respuestas en todo el día lo cual nos hace dudar sobre esta teoría.

Este problema inició presentándose una vez al mes pero cada vez ha sido mas frecuente y actualmente se presenta 1 vez a la semana.

Al monitorear el archivo firebird.log muestra el error  10054 en la mayoría de los casos el cual hace referencia  a una falla en la red. Pero, se han realizado pruebas de red y funciona de manera correcta.

Otro error que muestra con mucho menor frecuencia es el “broken port, server exiting” el cual también hace referencia a la red.

Alguien tiene idea de que pueda estar ocurriendo o sabe de alguna herramienta para identificar los procesos fb_inet_server a que usuario o IP pertenecen? O Saber que procesos son zombies (no pertenecen a nadie) y cuales pertenecen a una aplicación que esta ejecutandose en ese momento?

Por codigo delphi, es posible saber esto? Como para diseñar una utileria que todas las noches mate los zombies?

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: proceso fb_inet_server.exe
« Respuesta #1 en: Miércoles 21 de Octubre de 2009, 19:53 »
0
Da toda la impresión de que ocurre una condición de carrera, pero sin tener la implementación a la vista es imposible saberlo a ciencia cierta.http://es.wikipedia.org/wiki/Condición_de_carrera