Frage

Ich denke, diese Frage hat nicht mit der Programmierung im Allgemeinen zu tun, aber dennoch könnten die Antworten auf anderen Web-Entwickler interessant sein.

Ich fragte mich, wie die Mindestanforderungen zu schätzen eine schnelle Website zu haben. Offensichtlich gibt es einige Fakten, die wie die erwartete Anzahl der Besucher berücksichtigt werden müssen, die abgeleitete Anzahl der Klicks pro Sekunde und so weiter ... Auch Dienste wie Webserver (Apache / lighttpd) oder Mail-Server (Exim, Sendmail laufen. ..) könnte in unterschiedlichen Bedürfnissen beenden.

Vielleicht kennen Sie eine gute Website oder können einige Erklärungen geben, wie die benötigten Server-Konfiguration von solchen Informationen zu schätzen?

War es hilfreich?

Lösung

Dies ist wohl mehr Kunst als Wissenschaft.

Was haben Sie sich zu erinnern ist, dass wie viele Dinge in der Programmierung und IT, Ihre Website so groß wie das langsamste Glied in der Kette langsam sein, was bedeutet, Sie einige Engpass wie Bandbreite haben, der Web-Server, Disk-I / O , Speicher, Datenbanken, Firewall, etc., die die Geschwindigkeit Ihrer Webseite begrenzen.

Tuning und das Wachstum Ihrer Website werden beinhalten diese Probleme zu identifizieren, wie Sie sie wachsen und Adressierung. An einem Punkt müssen Sie eventuell mehr RAM hinzufügen, um eine weitere Sie eine andere CPU benötigen und so weiter. Zu anderen Zeiten Hinzufügen von mehr Speicher möglicherweise nutzlos, weil der Speicher nicht Ihr Problem ist.

Ebenso Fehlen einer bestimmten Ressource maskiert werden kann, wie Mangel an Speicher kann durch intensive Disk-I / O als System Swaps (Seitenfehler) ständig maskiert wird aber Disk-I / O ist nicht das Problem.

Also, was tun Sie?

Die erste Sache, die Sie identifizieren müssen (oder eine angemessene Vermutung), was ein typischer Benutzer tun wird und wie viel sie es tun. Im Idealfall werden Sie in der Lage sein, 100 oder 1000 zu modellieren oder wie viele Benutzer benötigen Sie mit Software wie JMeter, um dann eine Vorstellung davon, wie Sie Ihre Website-Skalen, wie viel Bandbreite benötigt, wird und so weiter. Durch die Modellierung 100, 500, 1000, 2000 Nutzer werden Sie hoffentlich in der Lage sein zu sehen, wie linear Sie Website Skalen.

Sie können feststellen, dass die Unterstützung 1000 Benutzer benötigt 1 GB RAM, aber 2000 erfordert 4 Konzerte: Das ist ein Beispiel für nicht-lineare Skalierbarkeit, die ein Problem Expoes Sie Ihre Website auf die Skalierung haben werden. Und das ist die Art von Dingen, von Performance-Tests aufgedeckt werden.

Ehrlich gesagt, Hardware ist so billig in diesen Tagen, dass es selten ein Problem mit Ausnahme der größten und beliebtesten Websites ($ 10k können Sie 1 oder sogar 2-Server mit 16G RAM kaufen und 4-8 Kerne pro Stück). Gemeinsam genutzte und VPS-Hosting sind eine andere Geschichte, weil Sie in der Regel nur für jedoch viel Speicher zahlen möchten, Bandbreite und Speicherplatz Sie benötigen. Zum Glück dieser Arten von Lösungen neigen Sie alow ziemlich leicht zu aktualisieren (zumindest bis zu einem Punkt, wo Sie schließlich Hosting gehen widmen).

Sie können einige schmutzige Schätzungen zu Beginn eines Projekts, indem sie das tun, was sie „Rückseite des Umschlags“ Schätzung nennen. Führen Schlüssel Abfragen sagen 100mal und arbeiten hwo viel CPU-Zeit benötigen sie, schlug eine verspottet Seite 100 mal und herausfinden, wie viel Bandbreite sie erzeugt und so weiter. Diese groben Schätzungen kombiniert mit Vermutungen darüber, wie Benutzer die Website nutzen werden Sie ein grobe (hoffentlich innerhalb eines Faktors von 2-3) von dem, was Sie benötigen.

Andere Tipps

Sie haben bereits über die Anzahl der Benutzer erwähnt, Server usw. Hier sind einige weitere zu berücksichtigen.

  1. Clustered-Server, wenn der Verkehr hoch ist
  2. Der physische Standort des Servers: Hier finden Sie die das Ziel Publikum für Ihre Website und besser auf den Server in diesem Land haben.
  3. Disaster Recovery Plan. eine schnellere Website ist gut und einen schnelleren Recovery-Prozess zu haben, ist auch sehr gut.
  4. Wählen Sie die beste Technologie und neue Technologien wie AJAX implementieren und Serveranfrage reduzieren, wo immer es möglich ist.

Wird mehr hinzufügen, wenn doch etwas dazwischen kommt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top