2009-10-01 1 views
0

есть рекомендуемое количество подключений для каждого приложения, которое я использую при подключении пула .., мои приложения используют asp.net и C# против sql express на «том же» сервере.Пул соединений в SQL SERVER (экспресс) - рекомендуемое количество?

У меня есть 5 приложений, работающие, они не используются интенсивно, все соединения открываются и закрываются ..

Так я думал о настройке каждого приложения, чтобы иметь мин бассейна = 5

так это 5 х 5 = 25

Может sql экспресс-ручка 25 соединений ... ну собственно 5 бассейнов и 5 соединений каждый пул?

Могу ли я подняться до десяти? И нужно ли поместить свойство MAX pool в строку соединения, чтобы я не переходил число на пул?

Любая помощь действительно apprecaited

ответ

2

Количество соединений имеет значение мало. Вы можете разрешить размер пула подключений по умолчанию 100.

Важным является количество запросов . Одним из ограничений SQL Express является то, что он запускает только один scheduler, поэтому по сути он использует только одно ядро ​​ЦП. Это ограничивает количество запросов, которые могут быть обработаны. Нет жесткого ограничения, просто одно ядерное ядро ​​процессора сможет обрабатывать только определенный объем работы, прежде чем вы начнете замечать снижение производительности в своих приложениях (запросы занимают больше времени).

Второе важное ограничение Экспресс - это 1 ГБ макс. buffer pool size. Это ограничивает объем данных, которые можно кэшировать, и размер кеша процедуры. Результатом этого является более короткий срок хранения в памяти и более высокий ввод-вывод, а также более подробная информация о планах. Все это снова способствует постепенной деградации производительности.

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

В более ранней версии MSDE было ограничение на запрос 5 одновременных запросов, по 6-му запросам механизм MSDE искусственно замедлял бы себя.

1

Это будет зависеть от того, какая версия SQL сервера, который вы используете, но для SQL Server 2005 Express не существует каких-либо ограничений на связи, так что вы должны быть в порядке.

Ограничения указаны here

+0

Я не вижу информации о параллельных ограничениях соединения по этой ссылке ... – RedFilter

+0

У меня есть unsing sql server 2008 express, но я имел в виду сумму, 25 (5 пулов и 5 соединений каждого пула) очень низок, так что я мог бы даже подняться до 10 для каждого пула или выше? ... Я был не уверен, что это повлияет на производительность в любом случае или на какое количество пулов/соединений, которое оно начнет влиять на производительность. –

+0

@OrbMan это потому, что нет никаких ограничений в отношении подключений – Joseph

0

SQL Express может обрабатывать такое же количество соединений в теории, как это большой брат SQL Server, что составляет 32 767. Однако ... SQL Express столкнулся с этим ограничением памяти задолго до того, как он достигнет этого числа, поскольку он ограничен использованием 1 ГБ ОЗУ.

+0

Как последнее замечание, не тратьте время на беспокойство по поводу объединения пулов в вашем сценарии. По умолчанию SQL и ADO.NET собираются оптимизировать использование для вас с помощью longshot. –

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