Hay una diferencia entre "Mejores prácticas", cosas que muchas personas hacen por buenas razones, y "Prácticas comunes", cosas que muchas personas hacen porque son flojas y / o ignorantes.
Las aplicaciones y (peor) los servidores que necesitan reiniciarse o reiniciarse de manera rutinaria para seguir funcionando bien son bastante comunes. Pero también es una clara indicación de que tiene un error crítico.
Al hacer que SOP reinicie una aplicación regularmente, su empresa está ocultando un error grave debajo de la alfombra. Esto es inexcusable, el error debe ser enfrentado y aplastado, o volverá a picarte más tarde.
Idealmente, su empresa debería encontrar un mejor desarrollador. Desafortunadamente, esto puede llevar a bastante trabajo para reescribir grandes extensiones de su código. El hecho de que el desarrollador piense que un código mal escrito es aceptable, o no sabe lo suficiente como para reconocer los síntomas del código defectuoso, sugiere que la calidad del código es baja. Un buen desarrollador será constitucionalmente incapaz de dejarlo en ese estado.
Dado que es posible que no esté en condiciones de reemplazar al desarrollador, algunas sugerencias:
- Vea si puede hacer que un desarrollador mejor revise el código e informe su evaluación a alguien que pueda hacer algo al respecto,
- Echa un vistazo a las herramientas de creación de perfiles. Si tiene las habilidades y / o inclinación, intente perfilar el código usted mismo para encontrar la fuga e informarlo.
Incluso sin entrar en las herramientas de creación de perfiles orientadas al desarrollador, hay muchas herramientas orientadas a los administradores de sistemas para crear perfiles y monitorear el uso de memoria en aplicaciones Java. En cualquier caso, debería configurar la supervisión de la memoria (especialmente el almacenamiento dinámico) en sus servidores de producción. Lo recomendaría incluso si estuviera ejecutando un código de calidad. Puede darle una advertencia anticipada cuando sus aplicaciones con errores están a punto de caerse.
Pero mejor aún, esto debería ayudarlo a reunir pruebas de que hay una fuga, e incluso puede indicar dónde está el problema en la aplicación. Esto le dará mejores municiones para presionar para que se repare.