Muy bien, hablemos un poco sobre el registro. En un mundo perfecto, nuestro sistema funciona perfectamente, pero en realidad, generalmente hay muchos problemas, las aplicaciones se bloquean, hay errores aleatorios, data falta, por lo que el registro siempre nos ayuda a debug, y el registro es algo que todos necesitamos en nuestras aplicaciones. Pero el registro puede causar una degradación del rendimiento.
Así que estaba, o lo siento, no puede, siempre causará una degradación del rendimiento. Así que estaba comparando un servidor con una solicitud POST que es, ya sabes, sin registros, y otro servidor que solo tiene una línea de registro, y eso es todo. Y mira lo que tenemos aquí. Si sin registro, la cantidad promedio de solicitudes por segundo es de alrededor de 9600, entonces cuando tenemos solo una línea de registro, el rendimiento disminuye alrededor del 15%. Mira aquí. La cantidad promedio de solicitudes por segundo es de alrededor de 8400. En los últimos resultados, pudimos atender alrededor de 100,000 solicitudes en el total de referencia. Ahora podemos atender alrededor de 93,000. Eso es como un 10% de degradación.
Entonces, cuando pienses en el registro, eso también es algo que debes tener en cuenta para elegir una biblioteca que sea eficiente en cuanto al rendimiento. Diferentes bibliotecas de registro que son populares en este momento son, digamos, Winstone, PinoJS y otras bibliotecas que tomé para comparar en mi referencia son Banyan y Log4j. Entonces, cuando miramos el panorama general, veremos que PinoJS es la biblioteca que actualmente te brinda el menor sobrecosto en tu código, lo que significa que eso es, por ahora, para mis comparaciones, la biblioteca de registro más eficiente en cuanto al rendimiento, y te daría los mejores resultados sin perjudicar el rendimiento de tu aplicación. Entonces podemos ver eso en la cantidad promedio de solicitudes por segundo, y también podemos verlo en el total de solicitudes, ya que puedes ver que Pino, el servidor con Pino pudo atender la cantidad de solicitudes que está más cerca de un servidor sin registros. Entonces, si concluimos eso, si estás pensando en el rendimiento y estás pensando en la eficiencia del rendimiento, elige PinoJS en lugar de otras bibliotecas. Eso puede cambiar, pero por ahora, es la biblioteca de registro más eficiente que existe. Otro consejo que me gustaría darte, que es importante, es, ya sabes, cuando hacemos registros, tenemos muchas concatenaciones de cadenas, pero la biblioteca de registro debe manejar esta concatenación de cadenas. No hagas la concatenación de cadenas en tu aplicación tú mismo. Como puedes ver en el ejemplo que está abajo, porque parece insignificante para ti. Lo que realmente está sucediendo detrás de escena es que si mi nivel de registro por ahora es como error, entonces esa concatenación de cadenas no se realizará por la biblioteca de registro. Si lo hago yo mismo, siempre sucederá. Entonces parece insignificante, pero realmente en aplicaciones grandes, aplicaciones complejas, esas cosas se suman. Siempre prefiere que la construcción de cadenas se realice con una interfaz adecuada para eso desde la biblioteca de registro, que recibe parámetros. Bueno, ahora en realidad estaba haciendo toneladas de ejemplos con Express. Entonces la pregunta es si podemos hacer algo más, tal vez no Express. Quiero decir, Express, para ser honesto, es un poco antiguo. No sé si lo sabes, pero la versión de lanzamiento de Express es la versión 4, y eso fue lanzado en 2014. Eso fue hace bastante tiempo.
Comments