Web サーバーで SQL Server を実行することは良いことですか、悪いことですか、それとも無関心ですか?
Server 2008 と SQL Server 2005 を使用していますが、この質問には関係ないと思います。
Web サーバーで SQL Server を実行することは良いことですか、悪いことですか、それとも無関心ですか?
Server 2008 と SQL Server 2005 を使用していますが、この質問には関係ないと思います。
小規模なサイトの場合、それは少しの違いはありません。ただし、負荷が大きくなると、これは非常に大きくスケーリングし、思ったよりも速くなります。
余裕があれば、PostgreSQLを使用して、数ドルを払い出し、2台目のサーバーを入手する方がおそらく良いでしょう。1つのIISサーバーと1つのPostgreSQLは、ライセンス費用のためにIIS +SQLServerとほぼ同じくらいの費用がかかります...
大規模なショップでは、おそらくこれをベスト プラクティスとは見なさないでしょう...ただし、1 秒あたり数百のリクエストを処理しない場合は、両方を 1 つのボックスに入れても問題ありません。
実際、小さなアプリの場合、データがネットワークを経由する必要がないため、バックエンドのパフォーマンスが向上します。それはすべてスケールに関するものです。
データベース サーバーはメモリを消費することに注意してください。ハードノックの学校からの 1 つの重要な教訓があります。Web サーバーと同じマシンで SQL Server 2005 を実行することに決めた場合 (それが質問で言及したセットアップです)、必ず Sql Server Management Studio にアクセスし、これを行います:
そうしないと、SQL Server は最終的にサーバーの RAM をすべて占有し、無期限にハングアップします。これにより、サーバーが多かれ少なかれスパッタして停止します。これを認識していない場合、トラブルシューティングが非常に面倒になる可能性があります。
私はこれをかなりの回数行いました。大企業のインフラストラクチャがあり、拡張性がない場合は行うことではありませんが、多くの場合は問題ありません。
それは本当にあなたのウェブサーバーとあなたのSQLサーバーがどれだけの仕事をしているかにかかっています。
これ以上の情報がなければ、役立つ答えが得られるとは思えません。
Web サーバーが公開されている場合、これはセキュリティの観点から非常に悪い考えです。
ルーティング、ファイアウォール、ポート、認証などの観点から多くのことが難しくなりますが、分離は良いことです。Web サーバー上でデータベース サーバーを実行している場合、Web サーバーが侵害された場合、SQL サーバーも侵害されます。
それらを別々の箱に入れると、バーが少し上がります。
Web サーバーとデータベース サーバーを保護するためにやるべきことはまだたくさんありますが、必要以上に簡単にする必要はありません。
問題が発生するまでは、同じサーバーで実行するのが最善だと思います。そうすれば、事前にいくらかのお金と時間を節約できます。サイトが成功し、いくつかのアーキテクチャの変更が必要になると、サイト自体の費用はすでに支払われているはずです。
バックアップを忘れずに:)
サーバーの予想される負荷によって異なります。小規模なサイトの場合、(正しく構成されていれば)まったく問題ありません。大規模なサイトの場合は、Webサーバー、ファイルサーバー、データベースサーバーなどのさまざまなサーバーに負荷を分散することを検討してください。
私はこの問題を何度も見ました。正しい答えは、一方のマシンにSQL Serverを配置し、もう一方のマシンにIIS(Webサーバー)を配置することです。効率的なサーバーをサポートするには適切なドライブシステムとRAMを購入する必要があるため、SQL Serverマシンにお金がかかりますが、ミラーリングされたドライブセットだけでWebサーバーを大幅に縮小して安価なマシンにすることができます。