2009-06-11 3 views
1

У меня есть 3 домашних компьютера, на которых установлены экземпляры SQL Server Express 2008, установленные на каждом из них ... но сейчас только одна имеет мою базу данных, и я также запускаю приложение на этой машине, которое запрашивает кучу данных из базы данных.2008 Балансировка нагрузки SQL Server Express

Я не знаю много о серверной архитектуре, но я читал некоторые руководства с веб-сайта компании Microsoft о том, как выполнить запрос на нескольких серверах (http://msdn.microsoft.com/en-us/library/bb964743.aspx)

Я все мои запросы, проходящие через хранимые процедуры , поэтому, если изменения все в запросах, то я не думаю, что это будет трудно сделать. Мне нужна общая информация о том, что это лучший способ, чтобы установить его, вот еще некоторые детали:

  1. Мой ПК немного слаб, так что я пытаюсь использовать как многие из моих домашних компьютеров, как можно балансируйте нагрузку. Сейчас у меня есть только один ПК с базой данных, и я запускаю приложение на том же ПК.

  2. Моя база данных составляет около 4 ГБ.

    a. У меня есть один сохраненный proc, который ищет определенные строки.

    b. У меня есть несколько хранимых процедур, которые используют временные таблицы для вычисления результатов на основе данных, полученных из примерно 20-30 строк.

    c. У меня уже есть индекс для столбцов, которые я ищу.

  3. Я запускаю приложение на том же компьютере, что и БД, который создает около 500 сущностей, и каждый объект может иметь около 50 узлов, каждый узел запрашивает данные из базы данных, запрос может быть любым из хранимых процедур с одним значением , или они могут быть в хранимых процедурах, которые строят таблицу (очевидно, последняя будет медленнее). Узлы выполняются так быстро, как база данных может обрабатывать нагрузку.

  4. В настоящее время похоже, что узким местом является SQL-сервер, поэтому я хотел бы распространять нагрузку на другие мои компьютеры.

И мои вопросы:

  1. Если я положил базу данных на другие персональные компьютеры, которые увеличивают производительность?

  2. Каков наилучший способ настройки моих SQL-серверов в этом случае?

  3. Другие советы/рекомендации? Есть ли лучший способ решить мою проблему?

FYI: Я не хочу, чтобы купить любое оборудование все же ... Я надеюсь на программное решение, я тоже жду, чтобы увидеть, если я могу получить бесплатный сервер от друга, но даже если я получу более крупный сервер, мне все равно хотелось бы знать, как я могу выполнять балансировку нагрузки.

ответ

3

Купить сервер. Шутки в сторону.

много оперативной памяти, RAID-диски, ОС сервера, нет предела памяти ...

Расширение предпочтительнее масштабировании, особенно на таком низком уровне.

+0

Существует возможность, что я могу получить бесплатный сервер от одной из компаний, в которых я работал (компания пошла вверх, и они собираются избавиться от аппаратного обеспечения), поэтому я не хочу вкладывать деньги еще, но я хотел бы попытаться масштабировать, пока не узнаю, что произойдет с этим сервером. – Kiril

2

Другие советы/рекомендации? Есть ли лучший способ решить мою проблему?

ИМХО бросить оборудование у него.Прежде чем вы тратите время на попытки настроить системы/программное обеспечение, всегда следует работать над чем-то, что вы, по крайней мере, можете назвать «адекватным», а не «слабым».

0

Ваша проблема, скорее всего, IO вызвана временными таблицами. Посмотрите, можете ли вы купить более быстрый жесткий диск (или установить жесткий диск RAID 0) и разместить там базу данных tempdb. Вам определенно не нужна настройка кластеризации или даже несколько серверов только для чтения для описанной проблемы.

В настоящее время он выглядит узкое место является сервером SQL, так что я хотел бы распределить нагрузку на мои другие ПК.

Мне любопытно, как вы пришли к такому выводу?

+0

Когда я запускаю приложение, он слишком долго ждет, чтобы каждый узел выполнил запрос, если у меня есть несколько серверов, я надеюсь, что запросы будут выполняться намного быстрее, а еще много узлов в моем приложении будут обработаны на ту же сумму времени. – Kiril

Смежные вопросы