小新
2006-01-04 09:15:03 UTC
也許應該這樣問.!!!
我是寫一個大型的Web-based系統,採用ASP.NET,為了節省大量的Database Loading...
我將很多資料放在Application 以及 Session中..!!!!!...
在少量會員Login的時候.!!!...例如 同時有100人登入進系統的時候..!!!!..
一切都會運作正常..!!!!...
隨著登入的人數越來越多,因為每一個會員登入,都會順便將這個會員的很多相關設定..
從Database載入DataTable放入Session當中.....避免每次需要用到這些資料的時候必須去資料庫查詢..!!!.....降低Databased Loading...!!!!!...
所以,每登入一個會員就會耗用掉很多記憶體..!!!!..
登線上同時有260 ~ 300名會員登入的時候...!!!!..
w3p.exe這支程式就會吃掉超過1.3G的記憶體空間..!!!!..
And then 沒多久....這個Web Site就當掉了..!!!!!...
每次當掉的時候...檢查w3p.exe 都會發現記憶體差不多都是吃掉1.3G的時候才當掉..!!...
我還滿震驚的..!!!..因為記憶體空間還很多...根本沒有用滿..!!!!!...
原本以為,雖然記憶體用量太多,但是只要一直加記憶體就行了..!!!!!...
為什麼....IIS會自己當在1.3G的時候..!!!!!.....
Any Body can telll me this..??...
有人試過....一直在Session塞資料..!!!...然後將w3p.exe那支程式...ㄍㄧㄥ到超過1.3G嗎 ..??...
如果有的話,告訴我怎麼設定才能超過這個瓶頸..!!!!...
其實微軟的瓶頸還滿多的..!!!...像SQL Server 2000...
他的Table欄位沒辦法超過2000個..!!!!!.....
通常為了加速系統以及資料庫的執行速度....避免Join太多Table..!!!..
會把大量的欄位加到主要Table中,可以加速查詢的速度.!!!...
原本也是以為可以無限制的把欄位一直加進去..!!!!!..
沒想到超過1300 ~ 1400多個欄位的時候...就遇到SQL Server的瓶頸了..!!!!...
唉!沒想到這麼容易就遇到微軟的瓶頸....!!!!!...
害我傻眼,只好將其他欄位拆到另外一個新的Table..!!!...
以及這Web端...自己寫Loading Balance功能...
將會員平均分散在不同的w3p.exe上面..!!!!...
同時還得降低Session的用量,改塞到Cookie裡面..!!!!!...
Any Body Can Tell Me..??...
難到微軟系統上的瓶頸真的無法超越嗎..??...
OR....在64位元的版本才能獲得解決..???.....
thanks..!!!>.
我是寫一個大型的Web-based系統,採用ASP.NET,為了節省大量的Database Loading...
我將很多資料放在Application 以及 Session中..!!!!!...
在少量會員Login的時候.!!!...例如 同時有100人登入進系統的時候..!!!!..
一切都會運作正常..!!!!...
隨著登入的人數越來越多,因為每一個會員登入,都會順便將這個會員的很多相關設定..
從Database載入DataTable放入Session當中.....避免每次需要用到這些資料的時候必須去資料庫查詢..!!!.....降低Databased Loading...!!!!!...
所以,每登入一個會員就會耗用掉很多記憶體..!!!!..
登線上同時有260 ~ 300名會員登入的時候...!!!!..
w3p.exe這支程式就會吃掉超過1.3G的記憶體空間..!!!!..
And then 沒多久....這個Web Site就當掉了..!!!!!...
每次當掉的時候...檢查w3p.exe 都會發現記憶體差不多都是吃掉1.3G的時候才當掉..!!...
我還滿震驚的..!!!..因為記憶體空間還很多...根本沒有用滿..!!!!!...
原本以為,雖然記憶體用量太多,但是只要一直加記憶體就行了..!!!!!...
為什麼....IIS會自己當在1.3G的時候..!!!!!.....
Any Body can telll me this..??...
有人試過....一直在Session塞資料..!!!...然後將w3p.exe那支程式...ㄍㄧㄥ到超過1.3G嗎 ..??...
如果有的話,告訴我怎麼設定才能超過這個瓶頸..!!!!...
其實微軟的瓶頸還滿多的..!!!...像SQL Server 2000...
他的Table欄位沒辦法超過2000個..!!!!!.....
通常為了加速系統以及資料庫的執行速度....避免Join太多Table..!!!..
會把大量的欄位加到主要Table中,可以加速查詢的速度.!!!...
原本也是以為可以無限制的把欄位一直加進去..!!!!!..
沒想到超過1300 ~ 1400多個欄位的時候...就遇到SQL Server的瓶頸了..!!!!...
唉!沒想到這麼容易就遇到微軟的瓶頸....!!!!!...
害我傻眼,只好將其他欄位拆到另外一個新的Table..!!!...
以及這Web端...自己寫Loading Balance功能...
將會員平均分散在不同的w3p.exe上面..!!!!...
同時還得降低Session的用量,改塞到Cookie裡面..!!!!!...
Any Body Can Tell Me..??...
難到微軟系統上的瓶頸真的無法超越嗎..??...
OR....在64位元的版本才能獲得解決..???.....
thanks..!!!>.