Unsere Website kann derzeit Dutzende Millionen PVs und Millionen Parallelität verarbeiten. Ich habe ein wenig Erfahrung in der PHP+Nginx-Optimierung, also werde ich es aufschreiben, um einige Aufzeichnungen zu machen.
1.TCP-Sockets und Unix-Sockets
Unix-Sockets bieten eine bessere Leistung als TCP-Sockets (da weniger E/A-Daten gelesen und geschrieben werden und weniger Kontextwechsel stattfinden).
upstream backend { server unix:/var/run/fastcgi.sock; # server 127.0.0.1:8080; }
2. Access_log deaktivieren oder optimieren
Bei Zugriffen mit großem Datenverkehr führt ein größerer Zugriff dazu, dass das Zugriffsprotokoll sehr große Datenträgermengen liest und schreibt. Wenn die Protokollierung nicht erforderlich ist, kann sie deaktiviert werden.
access_log off; log_not_found off;
oder schalten Sie die Pufferung ein
access_log /var/log/nginx/access.log main buffer=32k;
3. Schalten Sie Gzip ein
gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\.";
4. Optimieren Sie das Ausgabe-Caching
fastcgi_buffers 256 16k; fastcgi_buffer_size 128k; fastcgi_connect_timeout 3s; fastcgi_send_timeout 120s; fastcgi_read_timeout 120s; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k;
5. Arbeitsprozesse optimieren
Nginx ist Multiprozess statt Multithread. Wir müssen die prozessbezogene Konfiguration wie folgt optimieren.
Schauen Sie sich zunächst die Anzahl der Prozessoren auf dem Server an.
cat /proc/cpuinfo | grep processor
Dann legen Sie worker_processes fest, und die Anzahl der Prozesse ist die Anzahl der erhaltenen Prozessoren. worker_connections ist die maximale Anzahl von Verbindungen, die jeder Prozess öffnen kann, die erhöht werden kann. Hier ist eine Referenz.
# We have 16 cores worker_processes 16; # connections per worker events { worker_connections 4096; multi_accept on; } 记住multi_accept 必须打开。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Dreamweaver Mac
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
