首先程序的優化,不只是沿着一個點進行,往往都是程序配合服務器及數據服務器配置提升性能。
第一步:數據庫鏈接優化
在數據庫鏈接字符串中添加“Max Pool Size=32767;”,32767是數據庫的最大鏈接數,也可以設置0個代表最大。
可以解決的錯誤:
1.超時時間已到。超時時間已到,但是尚未從池中獲取連接。出現這種情況可能是因為所有池連接均在使用,並且達到了最大池大小。
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
如何查詢數據庫用戶的最大鏈接個數
A:查詢所有用戶的鏈接個數
select loginame,count(1) as Nums from sys.sysprocesses group by loginame order by 2 desc
B:查詢單個用戶
--jxb數據庫用戶名 SP_WHO 'jxb' --jxb數據庫用戶名 select spid,ecid,status,loginame,hostname,cmd,request_id from sys.sysprocesses where loginame='jxb'
如果鏈接用戶超出設置最大連接數,那么就會進入排序等待,設置“connect timeout = 20;”設置等待超時時間,默認15
第二步:站點連接數設置
打開IIS,找到需要設置的站點,右鍵管理網站——高級設置——行為——限制,調整最大並發連接數,這里默認不要修改。
超出最大連接數的用戶則會直接返回:HTTP Error 503. The service is unavailable.”
第三步:檢查應用程序池設置
應用程序池右鍵高級設置——常規——隊列長度,默認1000,范圍在10-65535 之間。
高級設置——進程模式——最大工作進程數,默認1,最大設置4000000個,工作進程是消耗服務器資源的,可以依照實際情況適當增加。
關於IIS工作最大進程可以閱讀:http://www.w 2 b c.com/article/142651