国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET性能優(yōu)化

2024-07-10 13:04:25
字體:
供稿:網(wǎng)友

衡量web性能的方法



l         衡量web服務(wù)器性能的唯一方式是對服務(wù)器進(jìn)行壓力測試(stress testing)



1.        自動(dòng)壓力測試工具是衡量的唯一方式



2.        瀏覽器的點(diǎn)擊刷新并不能作為痕量手段……




 


l         收集多個(gè)典型應(yīng)用場景方案:



1.        在應(yīng)用車工女婿執(zhí)行過程中模擬典型事物處理的過程



2.        痕量常用的單個(gè)頁面的性能(熱點(diǎn))



3.        確定個(gè)場景及個(gè)頁面的使用率




 


l         通過測試找出系統(tǒng)的新能指標(biāo):



1.        服務(wù)器的處理能力



2.        確定適合可接受ttfb/ttlb響應(yīng)時(shí)間范圍的可支持的最大客戶端負(fù)載(并發(fā)用戶)




 



 


性能測試工具



l         微軟web application stress tool



1.        可免費(fèi)下載(10mb),適用于xp、2000、2003



2.        http://www.microsoft.com/technet/treeview/default.aspx?url=/technet/itsolutions/intranet/downloads/webstres.asp




 


l         微軟應(yīng)用程序中心測試工具(microsoft application center test)



1.        作為vs.net enterprise 的一部分提供給客戶



2.        啟用更豐富的腳本及報(bào)告




 



 


主要的性能測試觀測項(xiàng)perfmon counters



l         processor,cpu % utilization



low numbers = blocking or lock contention




 


l         asp.net,requests in application queue



出現(xiàn)線型增長時(shí)表示服務(wù)器已達(dá)滿負(fù)荷




 


l         asp.net,applications,requests/sec



動(dòng)態(tài)吞吐量(應(yīng)保持一致、無大的波動(dòng))




 


l         asp.net,applications,errors total



預(yù)示著功能級錯(cuò)誤(應(yīng)為0)




 


l         asp.net app/worker process restarts



表示有嚴(yán)重錯(cuò)誤編程級錯(cuò)誤(應(yīng)為0)



壓力測試環(huán)境的注意事項(xiàng)



l         在獨(dú)立與web服務(wù)器及應(yīng)用服務(wù)器的機(jī)器上運(yùn)行壓力測試工具



1.        否則工具將超出服務(wù)器cpu的最大范圍



2.        對于繁重的負(fù)載使用多個(gè)客戶端機(jī)器




 


l         對測試進(jìn)行配置,以模擬不同的客戶端帶寬級別



1.        特定用于衡量56k撥號




 


l         消除應(yīng)用之外的任何瓶剄:



1.        網(wǎng)絡(luò)、客戶端等




 



 


邏輯設(shè)計(jì)



l         建議:采用3層邏輯模型



1.        pages and user controls ui



2.        business and data access classes in /bin dir



3.        data withwin a sql database via sprocs




 


l         設(shè)計(jì)系統(tǒng)時(shí)要考慮到scale-out的情形



1.        不要假設(shè)客戶端的請求




 


l         永遠(yuǎn)會(huì)返回到同一機(jī)器




 



 


使用最佳的data provider



l         ado.net 可支持多個(gè)provider:



1.        system.data.sqlclient



2.        system.data.oracleclient



3.        system.data.oledb



4.        system.data.odbc




 


l         所有provider的編程模型相同



1.        但是性能方面存在明顯差異




 


l         建議:使用最佳



1.        在訪問msde/sql 是始終使用sqlclient



2.        在訪問oracle時(shí)始終使用oracleclient




 



 



 



 


datareader vs.datasets



l         datareader



1.        對查詢的結(jié)果提供了單向讀取的操作



2.        輕量快速-但在reader關(guān)閉之前數(shù)據(jù)庫始終處于連接狀態(tài)




 


l         dataset



1.        非連接的數(shù)據(jù)訪問方式



2.        內(nèi)部使用datareader用戶獲取數(shù)據(jù)



3.        在完成dataset的獲取后會(huì)自動(dòng)關(guān)閉datareader




 


l         which is better?



1.        依賴于你的應(yīng)用



2.        原則上在middle_tier設(shè)計(jì)到大量數(shù)據(jù)處理或進(jìn)行離線的數(shù)據(jù)訪問時(shí)建議使用dataset




 



 


連接池



l         ado.net擁有內(nèi)置的連接遲



1.        自動(dòng)緩寸/重新使用連接



2.        不必為此編寫任何代碼




 


l         代碼建議



1.        “在后期打開代碼中的連接,然后在早期將其關(guān)閉”



2.        切無長時(shí)間保持連接狀態(tài) – 切無嘗試構(gòu)建你自己的“智能”連接池邏輯



3.        完成后應(yīng)立即顯示地關(guān)閉數(shù)據(jù)庫連接,以將其返回致池中




 


l         優(yōu)化提示:



1.        不同的連接字符串可以生成多個(gè)不同的連接池



2.        在web.config中存儲(chǔ)單個(gè)連接字符串



3.        使用configurationsettings.appsettings以在運(yùn)行時(shí)采用編程形式對其進(jìn)行訪問



4.        觀察”.net clr數(shù)據(jù)“性能計(jì)數(shù)器,以變對由adp.net維護(hù)的連接池?cái)?shù)量保持




 



 


使用存儲(chǔ)過程



l         建議將sproc用于數(shù)據(jù)存取



1.        通過dba進(jìn)行更輕松的性能調(diào)試



2.        通過使用數(shù)據(jù)庫事務(wù)處理避免出現(xiàn)分布事務(wù)成本



3.        有助于防止sql注入攻擊



4.        有助與消除應(yīng)用與數(shù)據(jù)庫反復(fù)調(diào)用的成本




 



 



 


服務(wù)器控件



l         對性能優(yōu)化而言有兩點(diǎn)需要注意:



1.        viewstate



2.        number of controls generated(especially for lists)




 



 


viewstate管理



l         asp.net controls能夠維護(hù)頁面control元素的狀態(tài):



1.        狀態(tài)以”viewstate” hidden field進(jìn)行傳遞




 


l         負(fù)面影響:



1.        增加網(wǎng)絡(luò)負(fù)荷(both on render and postback)



2.        額外的服務(wù)器性能消耗(serialize values to/from viewstate)




 


l         viewstate靈活性:



1.        頁面級(can disable viewstate entirely for a page)



2.        控件級(can disable viewstate usage on a per control basis)




 


l         建議



1.        認(rèn)真審核該功能的使用



2.        若不使用postback功能,在頁面級屏蔽viewstate



3.        postback時(shí)沒次都重新生成控件,請對控件級的viewstate屏蔽



4.        使用<%@ page trace=”true”%>跟蹤viewstate的大小



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黔江区| 泸西县| 湖州市| 武陟县| 宝清县| 长子县| 永嘉县| 德州市| 延吉市| 芒康县| 丹棱县| 鄂伦春自治旗| 拜泉县| 常山县| 红桥区| 淮滨县| 南乐县| 民权县| 射阳县| 苍溪县| 德令哈市| 天祝| 赞皇县| 牟定县| 石城县| 厦门市| 乾安县| 鹤峰县| 虹口区| 尼木县| 抚顺县| 宣恩县| 休宁县| 柳江县| 怀安县| 顺昌县| 友谊县| 乌拉特前旗| 宝应县| 保定市| 旬阳县|