2010-12-27 17 views
6

ist es nützlich, statische Daten mit Nginx (Bilder, CSS, JS) und dynamische Daten (App-Code + Datenbank) mit Apache?Nginx und Apache

+0

Benötigen Sie Apache? Wir haben es komplett losgeworden. – chrislovecnm

Antwort

3

Es ist nützlich. Some benchmarks haben gezeigt, dass nginx bei statischem Inhalt mindestens doppelt so schnell ist wie Apache.

1

Abhängig von Ihrer Anwendung kann es sein. Die Idee ist, dass Ihre Anwendung aus mehreren statischen Anfragen pro Seite bestehen kann. Wenn Sie diese mit einem kleinen Speicher-Footprint-Nginx beantworten können, benötigen Sie möglicherweise weniger Apache-Mitarbeiter, die bei gleichem Datenverkehr wahrscheinlich einen höheren Speicherbedarf haben.

0

Es ist auch nützlich wegen Keep-Alive-Tearing.

Stellen Sie sich die HTTP-Anforderung des Browsers für eine große dynamische Datenmenge vor. Die Netzwerkverbindung des Clients ist viel langsamer als die interne Netzwerkverbindung (am häufigsten, wenn nginx und apache auf demselben Host verwendet werden, so dass sie über die Loopback-Schnittstelle kommunizieren). Apache hat alle Daten auf den nginx hochgeladen und der Worker ist bereit, die nächste Anfrage sehr schnell auszuführen, während nginx diese Daten an den Client sendet.

Dank der Geschwindigkeit und des Fußabdrucks von nginx kann es viel mehr Verbindungen gleichzeitig verarbeiten, so dass diese Symbiose großartig funktioniert.

6

Es ist nicht nur nützlich Nginx dienen statische Bilder zu haben, aber zu Apache Nginx Proxy hat, ist ein großer Gewinn auch. Dies liegt daran, dass langsame Clients dazu führen, dass Apache die Threads länger als benötigt beschäftigt hält. Nginx kann mit dem langsamen Client umgehen und es Apache erlauben, die Anfrage so schnell wie möglich zu beenden und den Thread (und den Speicher) für andere Anfragen freizugeben. Nginx akzeptiert die Anforderung so schnell, wie es Ihre lokale Verbindung zulässt, und leitet die Antwort an den langsamen Client zurück.

+0

Ihr Mean ist: das Beste ist die Verwendung von Nginx als Reverse Proxy für Apache? Wenn ja, wie kann ich das tun? – Shafizadeh

Verwandte Themen