Frage

Ist es gut, schlecht oder indifferent SQL Server auf Ihrem Webserver zu laufen?

Ich bin mit Server 2008 und SQL Server 2005, aber ich glaube nicht, dass Angelegenheiten auf diese Frage.

War es hilfreich?

Lösung

Für kleine Websites, ist es nicht ein bisschen ein Unterschied machen. Wenn die Belastung wächst, aber das ist wirklich schlecht skaliert, und schneller, als man denkt:

  • Datenbank-Server sind auf der Prämisse, sie „eigener“ der Server aufgebaut. Sie handeln Speicher für Geschwindigkeit und sie leicht alle verfügbaren RAM für internen Caching verwenden.
  • Wenn Ressourcen knapp werden beginnen, wird Profilierung sehr schwierig - es ist klar, dass IIS und SQL sind beide Leiden, weniger klar, wo der Engpass ist. IIS benötigt CPU, SQL Server benötigt RAM oder CPU etc etc
  • Egal, wie viele Ebenen Sie in Ihrem Code setzen, sie alle Läufe auf der gleichen CPU, also eine einschichtige Anwendung läuft besser in diesem Zusammenhang - weniger Aufwand -. Aber es wird nicht maßstäblich
  • Sicherheit wirklich schlecht ist, in der Regel isolieren Sie SQL hinter einer Firewall!

Wenn Sie es sich leisten können, ist es wahrscheinlich besser, ein paar Dollar zu berappen und einen zweiten Server erhalten, vielleicht PostgreSQL verwenden. Ein IIS-Server und eine PostgreSQL Kosten etwa so viel wie auf IIS + SQL Server wegen Lizenzkosten ...

Andere Tipps

Größere Geschäfte würde dies wahrscheinlich eine bewährte Methode nicht betrachten ... Wenn Sie jedoch nicht mit Hunderten von Anfragen pro Sekunde zu tun haben, sind Sie in Ordnung, sie beide auf ein Feld setzen.

In der Tat, für kleine Anwendungen, werden Sie eine bessere Leistung auf dem Back-End sehen, da die Daten nicht über den Draht zu gehen hat. Es ist alles über Maßstab.

Beachten Sie, dass Datenbankserver Speicher essen. Hier ist eine wichtige Lehre aus der Schule der harten Schläge: , wenn Sie sich entscheiden, SQL Server 2005 auf demselben Computer wie der Webserver ausgeführt werden (und das ist die Einrichtung, die Sie in Ihrer Frage erwähnt), stellen Sie sicher, dass Sie in SQL Server gehen Management Studio und tut dies :

  1. Rechtsklick auf die Serverinstanz und klicken Sie auf Eigenschaften
  2. Wählen Sie ‚Speicher‘ aus der Liste auf der linken Seite
  3. Ändern 'maximale Serverspeicher' etwas kann den Server erhalten.

Wenn Sie das nicht tun, wird SQL Server nehmen schließlich alle Ihre Server-RAM und auf unbestimmte Zeit auf sie hängen. Dies wird dazu führen, dass Server mehr oder weniger Sputter und stirbt. Wenn Sie sich nicht dessen bewusst sind, kann es sein, sehr frustrierend zu beheben.

Ich habe ziemlich dies ein paar Mal getan. Es ist nicht etwas, was Sie tun würden, wenn Sie die Infrastruktur eines großen Unternehmen haben und es nicht skaliert, aber es ist für viele Dinge in Ordnung.

Es kommt wirklich darauf an, wie viel Arbeit Ihres Webserver und SQL Server tun.

Ohne weitere Informationen Ich bezweifle, Sie gehen keine hilfreichen Antworten erhalten.

Ich würde sagen, es ist am besten, sie auf dem gleichen Server laufen, bis es zu einem Problem wird. Auf diese Weise können Sie sich etwas Zeit und Geld im Voraus sparen werde. Einmal wird die Website einen Erfolg und erfordert einige Änderungen an der Architektur sollte es schon für sich selbst bezahlt haben.

Denken Sie daran, sichern:)

Wenn Ihr Web-Server öffentlich zugänglich ist, ist dies eine sehr schlechte Idee aus Sicht der Sicherheit.

Obwohl es eine Menge Dinge schwieriger von einem Routing macht, Firewall-Ports, Authentifizierung, usw. Perspektive, ist die Trennung gut. Wenn Sie Ihren Datenbank-Server auf dem Web-Server ausgeführt haben, wenn Ihr Web-Server gefährdet ist, dann SQL Server auch.

Wenn Sie sie auf separaten Boxen haben, haben Sie die Messlatte ein wenig.

Es gibt noch viel mehr Arbeit Ihren Web-Server und Datenbank-Server zu sichern getan werden, aber warum macht es einfacher, als es sein muss?

Es wird auf der zu erwartenden Belastung des Servers ab. Für kleine Websites, ist es kein Problem überhaupt (wenn sie richtig konfiguriert). Für große Websites, können Sie über verschiedene Server verteilt die Last zu berücksichtigen:. Web-Server, Dateiserver, Datenbankserver usw.

Ich habe dieses Problem über gesehen und immer wieder. Die richtige Antwort ist auf SQL Server auf einem Rechner und IIS (Webserver) auf der anderen Seite zu setzen. Ihr Geld wird die SQL Server-Maschine geht in, weil das rechte Antriebssystem und RAM muss gekauft werden, um einen effizienten Server zu unterstützen, aber der Web-Server eine sehr abgespeckte & weniger teuere Maschine mit nur einem gespiegelten Laufwerk eingestellt werden kann.

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