2009-06-11 33 views
1

2008年版SQL Server Expressインスタンスが3台あるホームPCがありますが、今は1台にデータベースがあり、そのマシンでもアプリケーションを実行していますデータベースから多数のデータを要求します。2008 SQL Server Expressロードバランシング

私は、サーバーのアーキテクチャについての全体の多くを知らないが、私は私のクエリのすべてのストアド・プロシージャを経由している複数のサーバ

http://msdn.microsoft.com/en-us/library/bb964743.aspx

にクエリを実行方法については、MicrosoftのWebサイトからいくつかのガイドを読んだことがありますので、変更がすべてクエリ内にある場合は、それを行うことは困難になるとは思わない。
  1. 私のPC

    は少し弱いですので、私はできるだけ私の自宅のPCにの多くを使用しようとしている:私はここにいくつかの詳細で、それを設定するための最良の方法を何に関する一般的な情報を必要とします負荷のバランスをとります。今はデータベースがあるPCは1台しかなく、同じPC上でアプリケーションを実行しています。

  2. 私のデータベースは約4GBです。

    a。私は、特定の行を探す1つのストアドプロシージャを持っています。

    b。私は約20〜30行から得られたデータに基づいて結果を計算するために一時テーブルを使用するいくつかの格納されたprocsを持っています。

    c。私はすでに私が探している列にインデックスを持っています。

  3. 約500個のエンティティを作成するDBと同じPC上でアプリケーションを実行し、各エンティティは約50個のノードを持つことができます。各ノードは、単一値のストアドプロシージャテーブルを構築するストアドプロシージャにすることもできます(明らかに後者は遅くなります)。ノードは、データベースが負荷を処理できるように速く実行されます。

  4. 現在のところ、ボトルネックがSQLサーバーであるように見えるため、他のPCに負荷を分散したいと考えています。

そして、私の質問は以下のとおりです。

  1. 私は他のPC上のデータベースを置く場合は、その性能を向上させるのだろうか?

  2. この場合、SQL Serverを設定する最も良い方法は何ですか?

  3. その他のヒント/参考資料はありますか?私の問題を解決する良い方法はありますか?

はFYI:私はソフトウェアソリューションのために望んでいるすべてのハードウェアはまだ...を購入する必要はありません 、私はまた、私は友人からの無料サーバーを得ることができるかどうかを確認するために待っていますたとえ大きなサーバーを取得したとしても、負荷分散をどのように行うことができるかを知りたいと思っています。

答えて

3

サーバーを購入する。真剣に。

RAMのたくさん、RAIDディスク、サーバのOS、メモリーなしの制限...スケールアップ

は特に、この低レベルでは、スケールアウトすることが好ましいです。

+0

私が働いていた企業の1つから無料のサーバを入手できる可能性があります(会社が腹を立てて、ハードウェアを取り除くつもりです)ので、まだ投資をしたくありません。そのサーバーで何が起こるかを知るまでスケールアウトを試したいと思います。 – Kiril

2

その他のヒント/参考資料はありますか?私の問題を解決する良い方法はありますか?

IMHOでハードウェアをスローします。あなたが時間を浪費する前に、システム/ソフトウェアを構成しようとすることは、常に「弱い」よりも「適切な」と記述できるもので実行していることになります。

0

あなたの問題は、おそらくIOが一時テーブルによって引き起こされる可能性があります。あなたがより高速なハードドライブ(またはraid 0ハードドライブのセットアップ)を購入してtempdbデータベースをそこに置くことができるかどうかを見てください。あなたは、あなたが記述した問題のために、クラスタリングのセットアップや複数の読み取り専用サーバーを必要としないことは間違いありません。

は現在、それがボトルネック SQLサーバがあるように見えるので、私は私の他のPCへの負荷を分散 したいと思います。

私は興味がありますが、どうやってこの結論に達しましたか?

+0

アプリケーションを実行すると、各ノードがクエリを実行するのに時間がかかりすぎます。複数のサーバーがある場合、クエリが非常に高速に実行され、アプリケーションの多くのノードが同じ量だけ処理されることが期待されます時間の。 – Kiril

関連する問題