2009-10-01 15 views
0

是否有建議的連接數量的每個應用程序,我有連接池使用..,我的應用程序使用asp.net和c#對「sql」在「同一」服務器上。SQL SERVER中的連接池(express) - 推薦量?

我有5個應用程序運行時,它們沒有集中使用,所有的連接打開和關閉..

所以我想設置每個應用都分池= 5

所以這5 x的5 = 25

sql express可以處理25個連接...實際上5個池和5個連接每個池?

我可以去十個嗎?是否有必要將MAX池屬性放在連接字符串中以確保不會超過每個池的數量?

任何幫助真的apprecaited

回答

2

連接的數量確實重要一點。您可以讓連接池大小爲默認值100.

重要的是請求的數量。 SQL Express的一個限制是它只運行一個scheduler,所以實際上它只使用一個CPU內核。這限制了可以處理的請求的數量。沒有硬性限制,只是一個CPU內核只能處理一定量的工作,然後開始注意應用程序中的性能下降(請求花費更長時間才能完成)。

Express的第二個重要限制是1 GB max buffer pool size。這限制了可以緩存的數據量和過程緩存的大小。其結果是較短的頁內存使用壽命和較高的I/O,以及更頻繁的計劃編譯。所有這些都會導致性能逐漸退化。

正如您在SQL Express中看到的那樣,您沒有達到硬限制並停止工作,只是受限於分配的硬件資源,結果是總體吞吐量有限。隨着您達到吞吐量限制,性能開始下降。

在舊版本的MSDE上,有5個併發請求的查詢限制,第6個請求MSDE引擎會人爲地減慢它自己的速度。

1

這將取決於你使用的是什麼版本的SQL Server,但是在SQL Server 2005 Express的存在對連接沒有限制,所以你應該罰款。

的限制表示here

+0

我沒有看到該鏈接上的併發連接限制的信息... – RedFilter 2009-10-01 14:20:37

+0

我有unsing sql server 2008 express,但我指的是數量,25(每個池5個池和5個連接)非常低,所以我甚至可以爲每個泳池或更高的泳池增加10個? ......我不確定它是否會影響到性能,或者它會影響性能的池數/連接數。 – 2009-10-01 14:22:26

+0

@OrbMan這是因爲關於連接方面沒有任何限制 – Joseph 2009-10-01 15:35:12

0

SQL Express可以在理論上處理相同數量的連接,因爲它的大哥哥SQL Server是32,767。然而...... SQL Express在它達到那個數字之前就會遇到它的內存限制,因爲它只能使用1 GB的內存。

+0

作爲最後一個注意事項,不要花時間擔心場景中的連接池。 SQL和ADO.NET的默認設置將會爲您優化使用。 – 2009-10-01 18:06:42