Cómo establecer el cuello de botella de un serveurLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en Suite, solucionarlo rápidamente, mejorar el rendimiento del servidor y prevenir regresiones.

Vue d'ensemble

Ce guide vous montre comment réparer un serveur surchargé en 4 étapes:

  1. Examinar: determine el cuello de botella del servidor.
  2. Stabiliser - Mettez en œuvre des correctifs rapides pour atténuer l'impact.
  3. Mise à niveau: augmentez et optimisez les capacités du serveur.
  4. Surveiller - Utilisez des outils automatisés pour éviter de futurs problèmes.

Si vous avez des questions ou des commentaires sur ce guide, ou si vous souhaitez partager vos propres trucs et astuces, veuillez laisser un commentaire sur PR # 2479.

Examiner

Cuando el tráfico sobrecarga un servidor, uno o más de los siguientes pueden convertirse en un cuello de botella: CPU, red, memoria o E / S de disco. Identificar cuál de estos es el cuello de botella posibilita concentrar los esfuerzos en las mitigaciones más impactantes.

  • CPU: se debe investigar y corregir el uso de CPU que sea consistentemente superior al 80%. El rendimiento del servidor muchas veces se degrada una vez que el uso de la CPU cumple ~ 80-90%, y se torna más pronunciado cuando el uso se acerca al 100%. La utilización de la CPU para atender una sola solicitud es insignificante, pero hacerlo a la escala que se encuentra durante los picos de tráfico a veces puede abrumar a un servidor. La descarga del servicio a otra infraestructura, la disminución de operaciones costosas y la limitación de la cantidad de solicitudes reducirán la utilización de la CPU.
  • Red: durante períodos de alto tráfico, el rendimiento de la red necesario para satisfacer las solicitudes de los usuarios puede exceder la capacidad. Algunos sitios, dependiendo del proveedor de hosting, además pueden tener límites en cuanto a la transferencia de datos acumulativos. Disminuir el tamaño y la cantidad de datos transferidos hacia y desde el servidor eliminará este cuello de botella.
  • Mémoire - Lorsqu'un système ne dispose pas de suffisamment de mémoire, les données doivent être téléchargées sur le disque pour être stockées. L'accès au disque est considérablement plus lent que la mémoire, ce qui peut ralentir une application entière. Si la mémoire est complètement épuisée, cela peut entraîner Sans mémoire (OOM) errores. Ajustar la asignación de memoria, solucionar las pérdidas de memoria y actualizar la memoria puede borrar este cuello de botella.
  • E / S de disco: la velocidad a la que se pueden leer o escribir datos desde el disco está restringida por el propio disco. Si la E / S de disco es un cuello de botella, incrementar la cantidad de datos almacenados en la memoria cacheUn caché es un tipo de memoria auxiliar de la que se puede recuperar a alta velocidad con una capacidad de almacenamiento relativamente pequeña. Se encuentra entre la unidad central de procesamiento (CPU) y la memoria principal. Ayuda a evitar el acceso al disco duro o los recálculos complejos almacenando temporalmente ciertos datos y haciéndolos disponibles rápidamente cuando sea necesario. El caché almacena una copia de la petición actual y Suite puede aliviar este problema (a costa de una mayor utilización de la memoria). Si esto no funciona, puede que sea necesario actualizar sus discos.

Las técnicas de esta guía se enfocan en abordar los cuellos de botella de la CPU y la red. Para la mayoría de los sitios, la CPU y la red serán los cuellos de botella más relevantes durante un pico de tráfico.

Pressé Haut en el servidor afectado es un buen punto de partida para investigar los cuellos de botella. Si se encuentra disponible, complemente esto con datos históricos de su proveedor de hosting o herramientas de monitoreo.

Stabiliser

Un serveur surchargé peut rapidement conduire à défauts en cascade en otras partes del sistema. De esta manera, es esencial estabilizar el servidor antes de intentar realizar cambios más significativos.

Limitation de taux

La limitación de velocidad protege la infraestructura al limitar la cantidad de solicitudes entrantes. Esto es cada vez más importante a medida que se degrada el rendimiento del servidor: a medida que aumentan los tiempos de respuesta, los usuarios tienden a actualizar la página agresivamente, lo que aumenta todavía más la carga del servidor.

Réparer

Aunque rechazar una solicitud es relativamente económico, la mejor manera de proteger su servidor es manejar la limitación de velocidad en algún lugar aguas arriba, a modo de ejemplo, mediante un equilibrador de carga, proxy inverso o CDN.

Instructions:

Autres lectures:

Mise en cache HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado Suite

Busque alternativas para almacenar en caché el ContenuEl contenido puede ser muy difícil de definir con precisión. Es una definición que se refiere a las declaraciones contenidas en un documento o publicación de cualquier tipo y puede incluir las tecnologías de la información y la comunicación. Esto cubre todos los tipos de medios como imágenes y texto. A parte de esto, en el campo de la optimización de motores de búsqueda, los términos duplicar contenido, contenido único, Suite de manera más agresiva. Si un recurso se puede servir desde una caché HTTP (ya sea la caché del le navigateurUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Suite o una CDN), entonces no hace falta solicitarlo desde el servidor de origen, lo que reduce la carga del servidor.

En-têtesConcepto de Encabezados¿Qué son los Encabezados?Los Encabezados, además conocidos como headers en inglés, son una parte fundamental del diseño de cualquier web, dado que consiste en la parte principal que se ve de esta al acceder, la parte de arriba de cualquier página. El lugar más visible y al que todos los usuarios que visitan un lugar de Internet acceden cuando entran en él, pudiendo tener así una imagen rápida Suite HTTP como Contrôle du cache, Expirery ETag indicar cómo un recurso debe almacenarse en caché a través de una caché HTTP. Auditar y corregir estos encabezados mejorará el almacenamiento en caché.

Bien que empleados de servicio además se pueden usar para el almacenamiento en caché, usan un cache y son un complemento, más que un reemplazo, del almacenamiento en caché HTTP adecuado. Por esta razón, al manejar un servidor sobrecargado, los esfuerzos deben centrarse en aprovechar al máximo el almacenamiento en caché HTTP.

Diagnostiquer

courir Phare et regardez le Servez des actifs statiques avec une politique de cache efficace audit pour voir une liste de ressources avec un court à moyen temps de vivre (TTL). Para cada recurso enumerado, considere si se debe incrementar el TTL. Como pauta aproximada:

  • Les ressources statiques doivent être mises en cache avec une longue durée de vie (1 an).
  • Les ressources dynamiques doivent être mises en cache avec une durée de vie courte (3 heures).

Réparer

Sélectionnez le Contrôle du cache entête âge max directive au nombre de secondes approprié.

Instructions:

Noter la âge max La directiva es solo una de las muchas directivas de almacenamiento en caché. Hay muchas otras directivas y encabezados que afectarán el comportamiento de almacenamiento en caché de su aplicación. Para conseguir una explicación más detallada de la estrategia de almacenamiento en caché, se recomienda encarecidamente que lea Mise en cache HTTP.

Dégradation élégante

La degradación elegante es la estrategia de disminuir temporalmente la funcionalidad para borrar el exceso de carga de un sistema. Este concepto se puede aplicar de muchas formas diferentes: a modo de ejemplo, publicando una página de texto estático en vez de una aplicación con todas las funciones, desactivando la búsqueda o devolviendo menos resultados de búsqueda, o desactivando ciertas funciones caras o no esenciales. Se tiene que hacer hincapié en borrar las funcionalidades que pueden eliminarse de forma segura y sencilla con un impacto comercial mínimo.

Aller mieux

Utiliser un réseau de diffusion de contenu (CDN)

Le service d'actifs statiques peut être téléchargé depuis votre serveur vers un réseau de diffusion de contenu (CDN), réduisant ainsi la charge.

La función principal de una CDN es entregar contenido a los usuarios rápidamente al proporcionar una gran red de servidores que se encuentran cerca de los usuarios. A pesar de todo, la mayoría de las CDN además ofrecen funciones adicionales asociadas con el rendimiento, como compresión, equilibrio de carga y optimización de medios.

Configurer un CDN

Las CDN se benefician de la escala, por lo que operar su propia CDN rara vez tiene sentido. Una configuración básica de CDN es bastante rápida de configurar (~ 30 minutos) y se trata de actualizar los registros DNSConcepto de DNS¿Qué son las DNS (Domain Name Server)?Al hablar de DNS, nos referimos a las iniciales Domain Name System (Sistema de Nombres de Dominio). Consiste en una tecnología que recurre a las bases de datos para detectar la dirección IP a la que pertenece cualquier dominio que un usuario quiera desear. Es decir, toma la URL y la “traduce” para ofrecer como resultado su dirección exacta, su IP.Para quien Suite para apuntar a la CDN.

Aprovechar al máximo el uso de CDN

Diagnostiquer

Identifiez les ressources qui ne sont pas servies à partir d'un CDN (mais qui devraient l'être) en exécutant WebPageTest. En la página de resultados, haga clic en el cuadro de arriba ‘Uso efectivo de CDN’ para ver el listado de recursos que deberían ser servidos desde un CDN.

utilisation-efficace-du-cdn-2881295

Résultats du test WebPage

Réparer

Si le CDN ne met pas en cache une ressource, vérifiez que les conditions suivantes sont remplies:

Mettre à l'échelle les ressources informatiques

La decisión de escalar los recursos informáticos debe tomarse con cuidado. Aún cuando muchas veces hace falta escalar los recursos informáticos, hacerlo prematuramente puede generar complejidad arquitectónica y costos financieros innecesarios.

Diagnostiquer

Un tiempo hasta el primer byte alto (TTFB) puede ser una señal de que un servidor está llegando a su capacidad. Puedes hallar esta información en el Faro Disminuir los tiempos de respuesta del servidor (TTFB) Audit.

Para investigar más, use una herramienta de monitoreo para examinar el uso de la CPU. Si el uso de CPU actual o anticipado excede el 80%, debería considerar incrementar sus servidores.

Réparer

Agregar un equilibrador de carga posibilita repartir el tráfico entre varios servidores. Un equilibrador de carga se encuentra frente a un grupo de servidores y enruta el tráfico al servidor apropiado. Los proveedores de la nube ofrecen sus propios equilibradores de carga (GCP, AWS, bleu azur) o puede configurar el suyo propio utilizando HAProxy ou NGINX. Une fois qu'un équilibreur de charge a été déployé, des serveurs supplémentaires peuvent être ajoutés.

Al mismo tiempo del equilibrio de carga, la mayoría de los proveedores de nube ofrecen ajuste de escala automático (GCP, AWS, bleu azur). El ajuste de escala automático funciona junto con el equilibrio de carga: el ajuste de escala automático escala de forma automática los recursos informáticos hacia arriba y hacia abajo según la demanda en un momento determinado. Una vez dicho esto, el ajuste de escala automático no es mágico: se requiere tiempo para que las nuevas instancias estén en línea y necesita una configuración significativa. Debido a la complejidad adicional que conlleva el ajuste de escala automático, primero se debe considerar una configuración más simple basada en el balanceador de carga.

Activer la compression

Los recursos basados ​​en texto deben comprimirse a través de gzip o brotli. Gzip puede disminuir el tamaño de transferencia de estos recursos en aproximadamente un 70%.

Diagnostiquer

Utiliza el faro Activer la compression de texte audit pour identifier les ressources à compresser.

Réparer

Activez la compression en mettant à jour les paramètres de votre serveur. Instructions:

Aprovechar al máximo imágenes y medios

Les images représentent la majorité de la taille de fichier de la plupart des sites Web; La optimización de imágenes puede disminuir rápida y significativamente el tamaño de un sitio.

Diagnostiquer

Lighthouse cuenta con una variedad de auditorías que señalan posibles optimizaciones de imagen. Alternativamente, otra estrategia es usar DevTools para identificar los archivos de imagen más grandes; estas imágenes probablemente serán buenas candidatas para la optimización.

Audits pertinents des phares:

Flux de travail Chrome DevTools:

Réparer

Si dispones de tiempo limitado …

Concentre su tiempo en identificar imágenes grandes y cargadas muchas veces y optimizarlas manualmente con una herramienta como Squoosh. Las imágenes heroicas generalmente son buenas candidatas para la optimización.

Cosas a prestar atención:

  • Tamaño: las imágenes no deben ser más grandes de lo primordial.
  • Compresión: en términos generales, un niveau de qualitéConcepto de Nivel de Calidad¿Qué es el Nivel de Calidad?El Nivel de calidad es un concepto que puede aplicarse a numerosos terrenos, pero que cobra especial sentido dentro de la plataforma de anuncios Google Adwords. Se trata de una herramienta pensada para hacer que las palabras clave sean solo un elemento más a prestar atención en las campañas publicitarias, para que además se valore la relevancia de estas y otros Suite de 80-85 tendrá un efecto mínimo en la calidad de la imagen, mientras que producirá una disminución del 30-40% en el tamaño del archivo.
  • Formato: use JPEG para fotos en vez de PNG; use MP4 para contenido animado en vez de GIF.

Si dispones de más tiempo …

Considere la oportunidad de configurar una CDN de imágenes si las imágenes constituyen una parte sustancial de su sitio. Las CDN de imágenes están diseñadas para servir y aprovechar al máximo imágenes y descargarán el servicio de imágenes desde el servidor de origen. Configurar una CDN de imagen es sencillo, pero necesita actualizar las URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Suite de imagen existentes para que apunten a la CDN de imagen.

Autres lectures:

Minificar JS y CSSConcepto de CSS¿Qué es el CSS?CSS es un lenguaje de programación que se usa para definir el estilo y el aspecto de un documento que se ha escrito mediante de un lenguaje de etiquetas, como HTML. Conocido además como hojas de estilo en cascada, es el que se emplea para dar colores, indicar tipos de letra o inclusive resaltar aspectos como el espacio entre items para dotar de estilo a Suite

La minificación elimina los caracteres innecesarios de JavaScriptJavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales. Incorporación en código HTML El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Existen varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar Suite y CSS.

Diagnostiquer

Utilisez le Réduire le CSS et Minifiez les audits JavaScript Lighthouse pour identifier les ressources qui nécessitent une minification.

Réparer

Si tiene tiempo limitado, concéntrese en minimizar su JavaScript. La mayoría de los sitios disponen más JavaScript que CSS, por lo que esto tendrá más impacto.

Surveiller

Les outils de surveillance des serveurs fournissent la collecte de données, des tableaux de bord et des alertes sur les performances du serveur. Leur utilisation peut aider à prévenir et à atténuer les futurs problèmes de performances du serveur.

Una configuración de monitoreo debe mantenerse lo más simple factible. La recopilación y alerta excesiva de datos tiene sus costos: cuanto mayor es el alcance o la frecuencia de la recopilación de datos, más costoso es recabar y almacenar; una alerta excesiva conduce inevitablemente a páginas ignoradas.

Las alertas deben utilizar métricas que detecten problemas de manera consistente y precisa. El tiempo de respuesta del servidor (latencia) es una métrica que funciona concretamente bien para ello: detecta una amplia variedad de problemas y se correlaciona de forma directa con la experiencia del usuario. Las alertas sustentadas en métricas de nivel inferior, como el uso de la CPU, pueden ser un complemento útil, pero detectarán un subconjunto más pequeño de problemas. Al mismo tiempo, las alertas deben basarse en el desempeño observado en la cola (dicho de otra forma, los percentiles 95 o 99), en vez de promedios. Caso contrario, los promedios pueden esconder fácilmente problemas que no impactan a todos los usuarios.

Réparer

Todos los principales proveedores de nube ofrecen sus propias herramientas de monitoreo (GCP, AWS, bleu azur). Plus loin, Netdata es una magnífica alternativa gratuita y open source. Sin tener en cuenta la herramienta que elija, deberá instalar el agente de supervisión de la herramienta en cada servidor que desee supervisar. Una vez completado, asegúrese de configurar las alertas.

Instructions: