Cómo establecer el cuello de botella de un ServerLos 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 Plus, solucionarlo rápidamente, mejorar el rendimiento del servidor y prevenir regresiones.

Übersicht

Diese Anleitung zeigt Ihnen, wie Sie einen überlasteten Server in vier Schritten reparieren:

  1. Untersuchen: Ermitteln Sie den Flaschenhals des Servers.
  2. Stabilisieren - Implementieren Sie schnelle Korrekturen, um die Auswirkungen zu verringern.
  3. Upgrade: Erhöhen und optimieren Sie die Serverfunktionen.
  4. Monitor - Verwenden Sie automatisierte Tools, um zukünftige Probleme zu vermeiden.

Wenn Sie Fragen oder Kommentare zu diesem Handbuch haben oder Ihre eigenen Tipps und Tricks teilen möchten, hinterlassen Sie bitte einen Kommentar zu PR # 2479.

Untersuchen

Wenn der Datenverkehr einen Server überlastet, kann einer oder mehrere der folgenden Faktoren zu Engpässen werden: CPU, Netzwerk, Arbeitsspeicher oder Festplatten-E/A. Die Identifizierung, welche davon der Engpass ist, ermöglicht es, die Bemühungen auf die wirksamsten Minderungsmaßnahmen zu konzentrieren.

  • CPU: CPU-Auslastung, die konstant höher als beim 80% ist, sollte untersucht und korrigiert werden. Die Serverleistung nimmt häufig ab, sobald die CPU-Auslastung ~80-90% erreicht, und wird deutlicher, wenn sich die Auslastung 100% nähert. Die CPU-Auslastung zur Bearbeitung einer einzelnen Anfrage ist vernachlässigbar, aber dies in der Größenordnung zu tun, die während Verkehrsspitzen auftritt, kann einen Server manchmal überfordern. Durch das Auslagern des Dienstes auf eine andere Infrastruktur, das Reduzieren kostspieliger Vorgänge und das Drosseln der Anzahl von Anfragen wird die CPU-Auslastung reduziert.
  • Netzwerk – In Zeiten mit hohem Datenverkehr kann der zum Erfüllen von Benutzeranforderungen erforderliche Netzwerkdurchsatz die Kapazität überschreiten. Einige Websites können je nach Hosting-Anbieter auch Beschränkungen für die kumulative Datenübertragung haben. Durch Reduzieren der Größe und Menge der zum und vom Server übertragenen Daten wird dieser Engpass beseitigt.
  • Speicher - Wenn ein System nicht über genügend Speicher verfügt, müssen Daten zur Speicherung auf die Festplatte heruntergeladen werden. Der Festplattenzugriff ist erheblich langsamer als der Speicher, und dies kann eine gesamte Anwendung verlangsamen. Wenn der Speicher vollständig aufgebraucht ist, kann dies dazu führen Ohne Erinnerung (OOM) Fehler. Durch Anpassen der Speicherzuweisung, Beheben von Speicherlecks und Aktualisieren des Speichers kann dieser Engpass beseitigt werden.
  • 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 ZwischenspeicherUn 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 Plus 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.

Die Techniken in diesem Handbuch konzentrieren sich auf die Behebung von CPU- und Netzwerkengpässen. Für die meisten Websites sind CPU und Netzwerk die größten Engpässe während einer Verkehrsspitze.

In Eile oben auf dem betroffenen Server ist ein guter Ausgangspunkt für die Untersuchung von Engpässen. Falls vorhanden, ergänzen Sie diese mit historischen Daten Ihres Hosting-Providers oder Monitoring-Tools.

Stabilisieren

Ein überlasteter Server kann schnell dazu führen kaskadierende Fehler in anderen Teilen des Systems. Daher ist es wichtig, den Server zu stabilisieren, bevor Sie versuchen, größere Änderungen vorzunehmen.

Ratenbegrenzung

Die Ratenbegrenzung schützt die Infrastruktur, indem sie die Anzahl der eingehenden Anfragen begrenzt. Dies wird immer wichtiger, wenn die Serverleistung abnimmt: Mit zunehmender Antwortzeit neigen Benutzer dazu, die Seite aggressiv zu aktualisieren, was die Last auf dem Server weiter erhöht.

Reparatur

Obwohl das Ablehnen einer Anfrage relativ kostengünstig ist, besteht der beste Weg, Ihren Server zu schützen, darin, die Ratendrosselung an einer vorgelagerten Stelle zu handhaben, z. B. über einen Load Balancer, einen Reverse-Proxy oder ein CDN.

Anleitung:

Andere Lesungen:

Caching 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 Plus

Busque alternativas para almacenar en caché el InhaltEl 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, Plus de manera más agresiva. Si un recurso se puede servir desde una caché HTTP (ya sea la caché del BrowserUn 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 Plus o una CDN), entonces no hace falta solicitarlo desde el servidor de origen, lo que reduce la carga del servidor.

ÜberschriftenConcepto 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 Plus HTTP como Cache-Kontrolle, Verfalleny ETag geben an, wie eine Ressource über einen HTTP-Cache zwischengespeichert werden soll. Das Auditieren und Korrigieren dieser Header verbessert das Caching.

Obwohl Servicemitarbeiter Sie können auch zum Caching verwendet werden, sie verwenden a Zwischenspeicher und sie sind eher eine Ergänzung als ein Ersatz für das richtige HTTP-Caching. Aus diesem Grund sollten sich die Bemühungen beim Umgang mit einem überlasteten Server darauf konzentrieren, die Vorteile des HTTP-Cachings voll auszuschöpfen.

Diagnostizieren

laufen Leuchtturm und schau dir das an Stellen Sie statische Assets mit einer effizienten Cache-Richtlinie bereit Audit, um eine Liste der Ressourcen mit einem kurzen bis mittleren zu sehen Zeit zu leben (TTL). Überlegen Sie für jede aufgelistete Ressource, ob Sie die TTL erhöhen möchten. Als grobe Richtlinie:

  • Statische Ressourcen müssen mit einer langen TTL (1 Jahr) zwischengespeichert werden.
  • Dynamische Ressourcen sollten mit einer kurzen TTL (3 Stunden) zwischengespeichert werden.

Reparatur

Wähle aus Cache-Kontrolle Header maximales Alter Anweisung auf die entsprechende Anzahl von Sekunden.

Anleitung:

Beachten Sie das maximales Alter Die Direktive ist nur eine von vielen Caching-Direktiven. Es gibt viele andere Direktiven und Header, die das Caching-Verhalten Ihrer Anwendung beeinflussen. Für eine detailliertere Erklärung der Caching-Strategie wird dringend empfohlen, dass Sie lesen HTTP-Caching.

Elegante Degradation

Graceful Downgrade ist die Strategie, die Funktionalität vorübergehend zu verringern, um eine übermäßige Belastung eines Systems zu beseitigen. Dieses Konzept kann auf viele verschiedene Arten angewendet werden: zum Beispiel durch Bereitstellen einer statischen Textseite anstelle einer voll funktionsfähigen App, Deaktivieren der Suche oder Zurückgeben von weniger Suchergebnissen oder Deaktivieren bestimmter teurer oder nicht wesentlicher Funktionen. Der Schwerpunkt muss auf dem Löschen von Funktionen liegen, die sicher und einfach mit minimalen geschäftlichen Auswirkungen entfernt werden können.

Um besser zu werden

Verwenden Sie ein Content Delivery Network (CDN).

Der statische Asset-Service kann von Ihrem Server in ein Content Delivery Network (CDN) heruntergeladen werden, wodurch die Last verringert wird.

Die Hauptfunktion eines CDN besteht darin, Inhalte schnell für Benutzer bereitzustellen, indem ein großes Netzwerk von Servern bereitgestellt wird, die sich in der Nähe der Benutzer befinden. Unabhängig davon bieten die meisten CDNs auch zusätzliche Leistungsmerkmale wie Komprimierung, Lastenausgleich und Medienoptimierung.

Richten Sie ein CDN ein

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 Plus para apuntar a la CDN.

Optimale Nutzung der CDN-Nutzung

Diagnostizieren

Identifizieren Sie Ressourcen, die nicht von einem CDN bereitgestellt werden (aber sollten), indem Sie sie ausführen WebPageTest. Klicken Sie auf der Ergebnisseite oben auf das Feld „Tatsächliche CDN-Nutzung“, um die Liste der Ressourcen anzuzeigen, die von einem CDN bereitgestellt werden sollten.

effektive Verwendung von CDN-2881295

WebPageTest-Ergebnisse

Reparatur

Wenn das CDN eine Ressource nicht zwischenspeichert, stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:

Skalieren Sie die Computerressourcen

Die Entscheidung, Rechenressourcen zu skalieren, muss sorgfältig getroffen werden. Auch wenn Rechenressourcen oft skaliert werden müssen, kann dies zu einer vorzeitigen Skalierung zu unnötiger architektonischer Komplexität und finanziellen Kosten führen.

Diagnostizieren

Eine Zeit bis zum ersten High-Byte (TTFB) kann ein Zeichen dafür sein, dass ein Server seine Kapazität erreicht. Diese Informationen finden Sie im Leuchtturm Verringern Sie die Antwortzeiten des Servers (TTFB) Prüfung.

Verwenden Sie zur weiteren Untersuchung ein Überwachungstool, um die CPU-Auslastung zu untersuchen. Wenn Ihre aktuelle oder erwartete CPU-Auslastung 80% übersteigt, sollten Sie eine Erhöhung Ihrer Server in Betracht ziehen.

Reparatur

Das Hinzufügen eines Load Balancers ermöglicht es, den Datenverkehr auf mehrere Server zu verteilen. Ein Load Balancer befindet sich vor einer Gruppe von Servern und leitet den Datenverkehr an den entsprechenden Server weiter. Cloud-Anbieter bieten eigene Load Balancer an (GCP, AWS, Azurblau) oder Sie können Ihre eigenen mit festlegen HAProxy oder NGINX. Nach der Bereitstellung eines Load Balancers können zusätzliche Server hinzugefügt werden.

Parallel zum Load-Balancing bieten die meisten Cloud-Anbieter Autoscaling an (GCP, AWS, Azurblau). Autoscaling funktioniert in Verbindung mit Load Balancing: Autoscaling skaliert Rechenressourcen automatisch nach oben und unten, je nach Bedarf zu einem bestimmten Zeitpunkt. Abgesehen davon ist die automatische Skalierung keine Zauberei: Es dauert einige Zeit, bis neue Instanzen online gehen, und erfordert eine umfangreiche Konfiguration. Aufgrund der zusätzlichen Komplexität, die mit der automatischen Skalierung einhergeht, sollte zunächst eine einfachere Konfiguration basierend auf Ihrem Load Balancer in Betracht gezogen werden.

Aktivieren Sie die Komprimierung

Textbasierte Ressourcen müssen per gzip oder brotli komprimiert werden. Gzip kann die Übertragungsgröße dieser Ressourcen um etwa 701 TP1T verringern.

Diagnostizieren

Benutze den Leuchtturm Aktivieren Sie die Textkomprimierung Audit, um die zu komprimierenden Ressourcen zu identifizieren.

Reparatur

Aktivieren Sie die Komprimierung, indem Sie Ihre Servereinstellungen aktualisieren. Anleitung:

Machen Sie das Beste aus Bildern und Medien

Bilder machen den größten Teil der Dateigröße der meisten Websites aus; Die Bildoptimierung kann die Größe einer Website schnell und erheblich verringern.

Diagnostizieren

Lighthouse verfügt über eine Vielzahl von Audits, die auf mögliche Bildoptimierungen hinweisen. Alternativ besteht eine andere Strategie darin, DevTools zu verwenden, um die größten Bilddateien zu identifizieren. diese Bilder sind wahrscheinlich gute Kandidaten für eine Optimierung.

Relevante Leuchtturm-Audits:

Chrome DevTools-Workflow:

Reparatur

Wenn Sie nur wenig Zeit haben...

Konzentrieren Sie sich darauf, große und häufig hochgeladene Bilder zu identifizieren und sie manuell mit einem Tool wie zu optimieren Squoosh. Heroische Bilder sind im Allgemeinen gute Kandidaten für eine Optimierung.

Dinge zu beachten:

  • Größe: Bilder sollten nicht größer als nötig sein.
  • Compresión: en términos generales, un QualitätslevelConcepto 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 Plus 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.
  • Format: Verwenden Sie JPEG für Fotos anstelle von PNG; Verwenden Sie MP4 für animierte Inhalte anstelle von GIF.

Wenn du mehr Zeit hast...

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 Plus de imagen existentes para que apunten a la CDN de imagen.

Andere Lesungen:

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 Plus

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 Plus y CSS.

Diagnostizieren

Verwenden Sie die CSS minimieren und Minimieren von JavaScript Lighthouse-Audits, um Ressourcen zu identifizieren, die minimiert werden müssen.

Reparatur

Wenn Sie nur wenig Zeit haben, konzentrieren Sie sich darauf, Ihr JavaScript zu minimieren. Die meisten Websites haben mehr JavaScript als CSS, daher wird dies eine größere Wirkung haben.

Monitor

Serverüberwachungstools bieten Datenerfassung, Dashboards und Warnungen zur Serverleistung. Ihre Verwendung kann dazu beitragen, zukünftige Serverleistungsprobleme zu verhindern und zu mindern.

Ein Monitoring-Setup sollte so einfach wie möglich gehalten werden. Eine übermäßige Datenerhebung und -berichterstattung hat ihren Preis: Je größer der Umfang oder die Häufigkeit der Datenerhebung, desto teurer ist die Erhebung und Speicherung; übermäßige Wachsamkeit führt unweigerlich zu ignorierten Seiten.

Warnungen müssen Metriken verwenden, die Probleme konsistent und genau erkennen. Die Serverantwortzeit (Latenz) ist eine Metrik, die sich dafür besonders gut eignet: Sie erkennt eine Vielzahl von Problemen und korreliert direkt mit der Benutzererfahrung. Warnungen, die auf untergeordneten Metriken wie der CPU-Auslastung basieren, können eine nützliche Ergänzung sein, erkennen jedoch eine kleinere Teilmenge von Problemen. Gleichzeitig sollten Warnungen auf der beobachteten Leistung in der Warteschlange basieren (mit anderen Worten, dem 95. oder 99. Perzentil) und nicht auf Durchschnittswerten. Andernfalls können die Durchschnittswerte leicht Probleme verbergen, die nicht alle Benutzer betreffen.

Reparatur

Alle großen Cloud-Anbieter bieten eigene Monitoring-Tools (GCP, AWS, Azurblau). Des Weiteren, Netdata ist eine großartige kostenlose Open-Source-Alternative. Unabhängig vom gewählten Tool müssen Sie den Überwachungsagenten des Tools auf jedem Server installieren, den Sie überwachen möchten. Stellen Sie nach Abschluss sicher, dass Sie Benachrichtigungen einrichten.

Anleitung: