Dies ist eine Anfrage für Hinweise auf gute Dokumentation/gute Artikel. Ich bin auf der Suche nach Informationen darüber, wie viele Verbindungen ein Apache-Server vernünftig handhaben kann, und möglicherweise, wie das Gleichgewicht zwischen mehreren Servern zu laden ist. Ich habe Google-Suchen durchgeführt, aber es ist schwieriger für Anfänger, zu beurteilen, was gute Dokumente sind.Wie viele Verbindungen/wie viel Bandbreite kann Apache verarbeiten?
Antwort
Apache 1.3 hatte einige unangenehme Skalierbarkeitsbeschränkungen, aber spätere Versionen sind so konzipiert, dass sie mit der Hardware und dem Betriebssystem skaliert werden können, was sie zum Engpass und nicht zum Webserver selbst macht. Wie immer, es kommt darauf an, wie Sie es konfigurieren und tunen, wenn Sie über Leistung wollen. Jede Situation hat ihre eigenen Anforderungen, und sie sind hier dokumentiert:
http://httpd.apache.org/docs/2.2/misc/perf-tuning.html
Die oben vorausgesetzt, dass Sie statische Inhalte sind dient, die ist, wo Apache zeichnet. Wenn Sie dahinter Webapplikationen ausführen, ist das Ihr Engpass, nicht Apache.
Leider werden Sie enttäuscht sein.
Die Fähigkeit von Apache, Verbindungen (und in der Tat auch andere Web-Server) zu handhaben, ist durch das, was die Web-Anwendung darauf tut, begrenzt. Wenn Sie statische Seiten bereitstellen, können Sie viele Anfragen mit sehr wenig Hardware bedienen.
Abhängig von der IO-Auslastung (Apache kann nicht schneller arbeiten als das IO-Subsystem - installieren Sie genügend RAM, um Ihren gesamten Inhalt zwischenzuspeichern, wenn Sie können), können Sie ein Gigabit-Netzwerk auf jeder angemessenen modernen Box auffüllen.
Sobald Sie ein Gigabit-Netzwerk gefüllt haben, müssen Sie sich um andere Dinge kümmern.
Die Gründe, warum Sie Load Balancer wirklich brauchen, sind, weil Ihre Anwendung Apache verlangsamt und die Ressourcen der Box verbraucht. Ihre Anwendung wird nicht unendlich schnell und unbegrenzt skalierbar sein. Sie müssen diese Probleme angehen.
Wie ist es enttäuschend, dass Apache praktisch unbegrenzte Bandbreite bewältigen kann? Ich würde das aufregend nennen. – Karl
Es ist nicht unbegrenzt Bandbreite, nur mehr als Sie sich interessieren. Der Webserver sollte selbst keinen Flaschenhals erzeugen, was nicht bedeutet, dass es nirgendwo anders sein wird. – MarkR
Wie die vorherigen Antworten gezeigt haben, ist Apache generell nicht der Flaschenhals, sondern meist der Applikationsserver (PHP, Mongrel, etc.). Wenn Sie jedoch nur statische Inhalte bereitstellen, sollten Sie ein Benchmarking durchführen, um zu sehen, wie schnell es gehen kann. Natürlich ist es unwahrscheinlich, dass Sie die genaue Anzahl angeben, die Apache bereitstellen kann, da vieles davon abhängt, wie Sie es konfigurieren (z. B. Deaktivieren persistenter Verbindungen) und die Spezifikationen des Servers. Um jedoch eine Schätzung zu erhalten, können Sie this benchmark als Referenz verwenden, da es auf 1-8 Kernen läuft (mit einem oder zwei Servern), so dass Sie in der Lage sein sollten, etwas zu finden, das mit der von Ihnen in Betracht gezogenen Hardware vergleichbar ist.
Um die genauesten Ergebnisse zu erhalten, sollten Sie es natürlich mit einem Lastgenerator wie ab oder httperf testen.
- 1. Wie viel Bandbreite nutzt Google Spracherkennung?
- 2. Wie kann ich sehen, wie viel Bandbreite meine Website verwendet?
- 3. Wie viele Verbindungen kann sqlite 3 verarbeiten?
- 4. Prüfen/Protokollieren, wie viel Bandbreite PhantomJS/CasperJS verwendet wurde
- 5. Wie viele Schrauben kann Apache Storm handhaben?
- 6. Wie kann Selen viele Aufrufe von isElementDisplay verarbeiten?
- 7. IE Frage: Wie viele CSS-Includes kann es verarbeiten?
- 8. Wie viele Anfragen pro Sekunde kann libmemcached verarbeiten?
- 9. Wie viele Socket-Verbindungen kann ein Silverlight-Chat-Server verarbeiten?
- 10. Wie viele Verbindungen kann Oracle Express Edition (XE) verarbeiten?
- 11. Wie viele temporäre Variablen kann Frama-C WP Plugin verarbeiten?
- 12. Server-Benchmarking: Wie viele HTTP-Anfragen kann der Server verarbeiten?
- 13. Wie viele Anfragen kann SQL Server pro Sekunde verarbeiten?
- 14. Wie viele Sitzungsdaten sind zu viel?
- 15. Wie viel Traffic kann eine App auf einer kostenlosen Heroku-Ebene verarbeiten?
- 16. Warum hat Wi-Fi so viel mehr Bandbreite als Bluetooth?
- 17. Zu viele Apache-Prozesse
- 18. Wie kann ich FileNotFoundException verarbeiten?
- 19. SQLAlchemy viele zu viel Beziehung Parameter
- 20. Eins zu viele Kartierung in Mungo, Wie erhalten und verarbeiten?
- 21. Wie viele UGUI-Elemente sind auf iOS zu viel?
- 22. Verfügbare Bandbreite
- 23. Kann Syncano Import.xls verarbeiten?
- 24. wie die maximale Anzahl paralleler/gleichzeitiger Dateidownloads ermittelt werden kann, die ein play framework server verarbeiten kann.für eine feste Bandbreite
- 25. Referenz Bandbreite verstehen
- 26. Bandbreite für Video-Streaming Schätzung
- 27. Wie konfiguriert man Apache, damit PHP OPTIONS-HTTP-Anfragen verarbeiten kann?
- 28. Wie MSBuild alle SSIS-Projekte verarbeiten kann
- 29. Wie kann ich Befehlszeilenargumente in Python verarbeiten?
- 30. Warum laufen so viele Apache-Prozesse?
+1 - die Apache-Dokumentation zählt wahrscheinlich zu den "guten Dokumenten"! –