Red de conocimiento informático - Material del sitio web - Cómo probar cómo LVS mejora el rendimiento del sitio web

Cómo probar cómo LVS mejora el rendimiento del sitio web

Tanto lvs como nginx se pueden utilizar como soluciones de carga de múltiples máquinas. Cada uno tiene sus propias ventajas y desventajas en el entorno de producción, y la situación real debe analizarse y utilizarse cuidadosamente. En primer lugar, me gustaría recordarles que cuando se trata de tecnología, no deben seguir lo que dicen los demás. Al mismo tiempo, no deben ser demasiado conservadores y creer en los viejos métodos. demasiado y espere a que otros le ayuden a realizar la prueba de la colcha. Es un buen hábito estudiar todo lo bueno que escuchas de inmediato para mejorar tus conocimientos y nivel de tecnología.

Analicemos los dos a continuación:

1. Ventajas de lvs:

1. Fuerte resistencia a la carga, porque la lógica del método de trabajo de lvs es muy buena. Es simple y solo funciona en la cuarta capa de la red para la distribución de solicitudes. No hay tráfico, por lo que básicamente no hay necesidad de pensar demasiado en la eficiencia. El LVS que tengo en la mano solo ha tenido un problema: el ecualizador perdió paquetes durante un corto período de tiempo cuando la concurrencia era máxima. Según el análisis, fue un problema de red, es decir, la capacidad de carga de la tarjeta de red o Linux2.4. El kernel ha alcanzado el límite superior y la memoria y Básicamente no hay consumo de CPU.

2. Baja capacidad de configuración. Esto suele ser una gran desventaja, pero también es una gran ventaja. Debido a que no hay muchas opciones configurables, no es necesario tocarlo con frecuencia, excepto para agregar o eliminar servidores. , reduciendo en gran medida la posibilidad de error humano.

3. Funciona de manera estable Debido a que tiene una fuerte resistencia a la carga, es lógico que tenga una alta estabilidad. Además, varios LVS tienen soluciones completas de respaldo en caliente de doble máquina, por lo que no hay necesidad de preocuparse. sobre el ecualizador en sí, si algo sale mal, si un nodo falla, LVS lo identificará automáticamente, por lo que el sistema general es muy estable.

4. Sin tráfico, como se mencionó anteriormente. LVS solo distribuye solicitudes, pero el tráfico no sale de sí mismo, por lo que puede usarlo para desviar algunas líneas. No hay tráfico y el rendimiento de IO del ecualizador no se ve afectado por un gran tráfico.

5. Básicamente puede admitir todas las aplicaciones. Debido a que lvs funciona en la capa 4, puede equilibrar la carga de casi todas las aplicaciones, incluidas http, bases de datos, salas de chat, etc.

Otro: LVS no es completamente capaz de identificar fallas de nodos. Por ejemplo, en el modo de asignación wlc, si un nodo en el clúster no está configurado con VIP, todo el clúster quedará inutilizable. El uso del modo de asignación wrr desechará una máquina. Actualmente, este problema aún se encuentra bajo pruebas adicionales. Por tanto, es mejor tener más cuidado al utilizar LVS.

2. Resultados de la comparación entre nginx y lvs

1. nginx funciona en la capa 7 de la red, por lo que puede implementar estrategias de desvío para la propia aplicación http, como nombres de dominio y directorios, etc. En comparación, lvs no tiene tal función, por lo que nginx se puede usar en muchas más situaciones que lvs basándose solo en esto, pero estas funciones útiles de nginx lo hacen más ajustable que lvs, por lo que a menudo es. Tienes que tocar, tocar, tocar. A juzgar por la segunda ventaja de LVS, si tocas demasiado, aumentarán las posibilidades de problemas humanos.

2. nginx tiene menos dependencia de la red. En teoría, siempre que el ping sea exitoso y el acceso a la página web sea normal, nginx también puede distinguir entre redes internas y externas. tiene redes internas y externas, Node es equivalente a una sola máquina con una línea de respaldo; LVS depende más del entorno de red. En la actualidad, el servidor está en el mismo segmento de red y LVS usa el modo directo para distribuir el tráfico. El efecto está mejor garantizado. También tenga en cuenta que LVS necesita solicitar al menos una IP más del proveedor de alojamiento para usarla como IP visual. Parece que no puede usar su propia IP como VIP. Para ser un buen administrador de LVS, realmente necesita hacer un seguimiento y aprender muchos conocimientos sobre la comunicación de red, que ya no es tan simple como HTTP.

3. La instalación y configuración de nginx es relativamente simple y también es muy conveniente de probar, porque básicamente puede imprimir errores en el registro. La instalación, configuración y prueba de LVS llevan relativamente mucho tiempo porque, como se mencionó anteriormente, LVS depende en gran medida de la red. En muchos casos, la falla en la configuración se debe a problemas de red en lugar de problemas de configuración. , debe resolverse en consecuencia sería mucho más problemático.

4. nginx también puede soportar cargas elevadas y es estable, pero la carga y la estabilidad son deficientes. Hay varios niveles de lvs: nginx maneja todo el tráfico, por lo que está limitado por la E/S de la máquina y su configuración. propios errores Todavía es inevitable; nginx no tiene una solución de respaldo en caliente de doble máquina lista para usar, por lo que ejecutarlo en una sola máquina sigue siendo riesgoso y es difícil decir algo sobre una sola máquina.

5. nginx puede detectar fallas internas del servidor, como códigos de estado, tiempos de espera, etc., devueltos por el servidor que procesa las páginas web, y volverá a enviar solicitudes que devuelvan errores a otro nodo. Actualmente, ldirectd en lvs también puede admitir el monitoreo de las condiciones internas del servidor, pero el principio de lvs le impide reenviar solicitudes. Con respecto al reenvío de la solicitud, por ejemplo, si el usuario está cargando un archivo y el nodo que procesa la carga falla durante el proceso de carga, nginx cambiará la carga a otro servidor para reprocesarlo y lvs se desconectará directamente si los usuarios. Puede que le moleste subir un archivo grande o importante.

6. El procesamiento asincrónico de solicitudes de Nginx puede ayudar al servidor de nodo a reducir la carga. Si Apache se usa para servir directamente a partes externas, cuando haya muchos enlaces de banda estrecha, el servidor Apache ocupará una gran cantidad de espacio. memoria y no se puede liberar. Use uno más. Si nginx actúa como un proxy de Apache, nginx bloqueará estos enlaces de banda estrecha y no se acumularán demasiadas solicitudes en Apache, lo que reducirá una cantidad considerable de uso de memoria. El uso de Squid tiene el mismo efecto en este sentido. Incluso si Squid está configurado para no almacenar en caché, sigue siendo de gran ayuda para Apache. LVS no tiene estas funciones, por lo que no se puede comparar.

7. nginx puede admitir http y correo electrónico (la función de correo electrónico probablemente sea menos utilizada por las personas) y lvs admite más aplicaciones que nginx en este sentido.

En términos de uso, la estrategia general adoptada por el front-end debe ser lvs, es decir, el DNS debe dirigirse al ecualizador lvs. Las ventajas de lvs lo hacen muy adecuado para esta tarea.

Las direcciones IP importantes se alojan mejor en LVS, como las IP de bases de datos, las IP de servidores de servicios web, etc. Estas direcciones IP se utilizarán cada vez más con el tiempo. Si cambia la dirección IP, se producirán fallas. . Por lo tanto, lo más seguro es entregar estas importantes IP a LVS para su alojamiento. La única desventaja de esto es que la cantidad de VIP requeridas será mayor.

nginx se puede utilizar como una máquina de nodo lvs. En primer lugar, puede aprovechar las funciones de nginx. En segundo lugar, puede aprovechar el rendimiento de nginx. Por supuesto, también puede usar Squid directamente en este nivel. La funcionalidad de Squid es mucho más débil que la de nginx y su rendimiento también es inferior al de nginx.

nginx también se puede utilizar como proxy de nivel medio. En este nivel, nginx básicamente no tiene rivales. El único que puede desafiar a nginx es lighttpd. Sin embargo, lighttpd actualmente no tiene la funcionalidad completa. nginx y su configuración aún no están completos. Es muy claro y fácil de leer. Además, la IP del agente de nivel medio también es importante, por lo que es la solución más perfecta para que el agente de nivel medio también tenga VIP y LVS.

nginx también se puede utilizar como servidor web estático, pero está más allá del alcance de este artículo y se mencionará brevemente.

La aplicación específica debe analizarse en detalle. Si es un sitio web relativamente pequeño (PV diario <10 millones), está perfectamente bien usar nginx. Si hay muchas máquinas, puede usar DNS. sondeo, por lo que lvs todavía consume muchas máquinas para sitios web grandes o servicios importantes. Cuando las máquinas no están preocupadas, debería considerar usar LVS.