我們有一個有2個實例的coldfusion企業服務器。每個實例在一臺MSSQL服務器上有200多個數據源到數據庫。這個數字將繼續增長。現在看來,即使數據庫很小,對單個數據源的請求也會變慢。當CF擁有更多數據源時,請求可能會變慢。coldfusion可以處理多少個數據源
回答
數據源是否因某種原因(例如不同的客戶/客戶等)而被分區?如果這實際上只是一大堆數據庫的大型應用程序,那麼您可以通過單個CF數據源通過跨數據庫查詢來減少DSN的數量。
如果帳戶CF用來連接到SQL Server有權讀取服務器上的兩個數據庫,你可以做這樣的事情:
選擇場,場2,場3 ... FROM [databaseA] 。[dbo] .Table1 T1 JOIN [databaseB]。[dbo] .Table2 T2 ON ...
我已經在跨多個數據庫共享的狀態和國家/地區表執行此操作。仔細設置權限以防止損壞或錯誤的更新。
當然這是可能的,我懷疑有很多人有這種經驗,所以我們可以猜測。
就我個人而言,我從來不會在SQL服務器中創建那麼多數據庫,並且在CF中有很多數據源。恕我直言,使用數據庫模式將是更好的解決方案,更容易維護,管理等。
內存情況如何?可能會發生大量的JDBC連接阻塞服務器。我會首先檢查內存消耗情況,之後會查看數據通過輸出的SQL統計信息,甚至以後可能還會查看SQL Severs性能設置,CF設置以查看可能的JDBC連接,網絡設置等等。 再次,只是猜測,並試圖給你一個提示看看。
還有更多的不僅僅是coldfusion。每個連接約4k,每個數據源可以使用多個連接。因此,200個DSN可能等於300或400個連接(或聚合時爲800或1000)。數據庫服務器本身使用「tempdb」作爲處理請求的工作空間。它擴展了這個工作空間來處理流量 - 但它在某種程度上是是共享資源。所以一個數據庫可能會影響服務器上的另一個數據庫。
我想:
- 檢查(perfmon的有一些這方面的好專櫃)
- 使用服務器監視器來獲得每個連接的總數感的SQL服務器上的連接總數實例。
- 使用網絡監控,以確定哪些能力在每臺服務器上的網絡連接使用...
當然不用說,你的數據庫需要進行微調,以執行,以及(索引和優化 - 具有良好的模式並由良好的查詢代碼支持)。創建一個可擴展的解決方案需要這些東西:)
PS 所有 - 不用說,你可以聯繫我更加「正式」的幫助。我很樂意聊聊你的問題。
- 1. numpy可以處理多少數據
- 2. MySQL可以處理多少個數據庫?
- 3. 我的Hadoop集羣可以處理多少數據?
- 4. Java VS RAM:沒有'OutOfMemory',Java可以處理多少數據?
- 5. SQL Server 2008可以處理多少數據?
- 6. Sobipro可以處理多少條目?
- 7. Weka可以處理多少文字?
- 8. 如何處理多個數據源?
- 9. 可以在4.5毫秒內處理多少個數組元素?
- 10. 節點應用程序可以處理多少個setInterval()函數?
- 11. 單個開源主廚服務器可以處理多少個節點
- 12. Parcel可以存儲多少個數據?
- 13. 多線程服務器可以處理多少個客戶端?
- 14. 一個網卡可以處理多少個主機
- 15. 一個ActiveScheduler可以處理多少個活動對象?
- 16. 一個Google App Engine實例可以處理多少個請求?
- 17. 一個node.js進程可以處理多少個活動流
- 18. MySQL每秒可以處理多少個查詢
- 19. Silverlight聊天服務器可以處理多少個Socket連接?
- 20. Request.Files mvc asp.net可以處理多少個請求?
- 21. PHP每秒可以處理多少個請求?
- 22. fgrep可以處理多少個搜索字符串?
- 23. Socket.io:WebSockets可以處理多少個併發連接?
- 24. Redis(redis-py)可以處理多少個通道?
- 25. IE問題:它可以處理多少個CSS?
- 26. R OpenCPU可以同時處理多少個請求
- 27. java UDP套接字可以處理多少個請求?
- 28. Rails應用程序可以處理多少個併發上傳
- 29. 使用Scrapy可以處理多少個URL?
- 30. Apache Storm可以處理多少個螺栓?
感謝您的提示。sql-server確實有很多連接(已經有大約700個),而且有很多連接的延遲大約爲200ms。所以我們要嘗試另一種只使用1個數據源的方法。 – birdy1980 2010-12-07 13:25:13
它怎麼樣?你是否解決了數據庫問題? – 2010-12-20 14:16:46