狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當(dāng)前位置:系統(tǒng)之家 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

asp性能測試報告(轉(zhuǎn))(二)

asp性能測試報告(轉(zhuǎn))(二)

更新時間:2019-08-21 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):


在服務(wù)器上生成動態(tài)內(nèi)容是使用ASP最主要的原因之一,所以我們選擇的第一個測試項目是確定把動態(tài)內(nèi)容發(fā)送到應(yīng)答流使用什么方法最好。基本的選擇有兩種(以及它們的一些變化):使用內(nèi)嵌ASP標(biāo)記,使用Response.Write語句。

為測試這些不同的方法,我們創(chuàng)建了一個簡單的ASP頁面,頁面先定義一些變量然后把它們插入到表格。雖然這個頁面很簡單,而且沒有實際用途,但它足以讓我們分離和測試各個問題。

2.1 使用ASP內(nèi)嵌標(biāo)記

第一個測試是使用ASP的內(nèi)嵌標(biāo)記< %= x % >,其中x是一個變量。這是使用最方便的方法,而且它可以讓頁面的HTML部分變得更容易閱讀和維護(hù)。
< % OPTION EXPLICIT
Dim FirstName
Dim LastName
Dim MiddleInitial
Dim Address
Dim City
Dim State
Dim PhoneNumber
Dim FaxNumber
Dim EMail
Dim BirthDate

FirstName = "John"
MiddleInitial = "Q"
LastName = "Public"
Address = "100 Main Street"
City = "New York"
State = "NY"
PhoneNumber = "1-212-555-1234"
FaxNumber = "1-212-555-1234"
EMail = "john@public.com"
BirthDate = "1/1/1950"
% >

< HTML >
< HEAD >
< TITLE >Response Test< / TITLE >
< /HEAD >
< BODY >
< H1 >Response Test< /H1 >
< TABLE >
< tr >< td >< b >First Name:< /b >< /td >< td >< %= FirstName % >< /td >< /tr >
< tr >< td >< b >Middle Initial:< /b >< /td >< td >< %= MiddleInitial % >< /td >< /tr >
< tr >< td >< b >Last Name:< /b >< /td >< td >< %= LastName % >< /td >< /tr >
< tr >< td >< b >Address:< /b >< /td >< td >< %= Address % >< /td >< /tr >
< tr >< td >< b >City:< /b >< /td >< td >< %= City % >< /td >< /tr >
< tr >< td >< b >State:< /b >< /td >< td >< %= State % >< /td >< /tr >
< tr >< td >< b >Phone Number:< /b >< /td >< td >< %= PhoneNumber % >< /td >< /tr >
< tr >< td >< b >Fax Number:< /b >< /td >< td >< %= FaxNumber % >< /td >< /tr >
< tr >< td >< b >EMail:< /b >< /td >< td >< %= EMail % >< /td >< /tr >
< tr >< td >< b >Birth Date:< /b >< /td >< td >< %= BirthDate % >< /td >< /tr >
< /TABLE >
< /BODY >
< /HTML >
/app1/response1.asp的完整代碼

最好記錄 = 8.28 毫秒/頁




2.2 使用Response.Write輸出每一行HTML代碼

許多優(yōu)秀的文獻(xiàn)指出,應(yīng)當(dāng)避免使用前面的內(nèi)嵌標(biāo)記方法,因為它導(dǎo)致一個稱為“上下文切換”的操作。這個操作發(fā)生在Web服務(wù)器所處理的代碼類型發(fā)生變化的時候(從純HTML的發(fā)送到腳本處理,或反過來),這種切換需要一定的時間。許多程序員在了解了這一點之后,他們的第一個反應(yīng)是將每一行HTML代碼都用Response.Write函數(shù)來輸出:
...
Response.Write("< html >")
Response.Write("< head >")
Response.Write(" < title >Response Test< /title >")
Response.Write("< /head >")
Response.Write("< body >")
Response.Write("< h1 >Response Test< /h1 >")
Response.Write("< table >")
Response.Write("< tr >< td >< b >First Name:< /b >< /td >< td >" & FirstName & "< /td >< /tr >")
Response.Write("< tr >< td >< b >Middle Initial:< /b >< /td >< td >" & MiddleInitial & "< /td >< /tr >")
...
/app1/response2.asp片斷

最好記錄 = 8.28 毫秒/頁
響應(yīng)時間 = 8.08 毫秒/頁
差額 = -0.20 毫秒 (減少 2.4%)




和內(nèi)嵌標(biāo)記版本相比,我們所看到的性能改善非常小,簡直令人驚訝。這或許是因為頁面中多出了許多函數(shù)調(diào)用。不過這種方法還有一個更大的缺點,由于HTML代碼嵌入到了函數(shù)內(nèi),腳本代碼變得非常冗長,閱讀和維護(hù)都不方便。

2.3 使用封裝函數(shù)

Response.Write并不會在文本行的末尾加上CRLF(Carriage Return - Line Feed,回車換行),這是使用上面這種方法最令人失望的地方。盡管已經(jīng)在服務(wù)器端把HTML代碼作了很好的格式化,但在瀏覽器中看到的仍舊只有長長的一行代碼。不過失望的不僅是這一個問題,人們很快就發(fā)現(xiàn)不存在能夠自動添加CRLF的Response.WriteLn函數(shù)。一個很自然的反應(yīng)就是創(chuàng)建Response.Write的封裝函數(shù),在每行的后面加上CRLF:
...
writeCR("< tr >< td >< b >First Name:< /b >< /td >< td >" & FirstName & "< /td >< /tr >")
...
SUB writeCR(str)
Response.Write(str & vbCRLF)
END SUB
/app1/response4.asp片斷

最好記錄 = 8.08 毫秒/頁
響應(yīng)時間 = 10.11 毫秒/頁
差額 = +2.03 毫秒 (增加 25.1%)




結(jié)果是性能的大大下降。當(dāng)然,這主要是因為這種方法使得函數(shù)的調(diào)用次數(shù)加倍,它對性能的影響非常明顯。應(yīng)當(dāng)不惜代價地避免這種用法,CRLF導(dǎo)致每行的末尾多了兩個字節(jié),而這兩個字節(jié)對于瀏覽器顯示頁面是沒有用的。在大多數(shù)情況下,瀏覽器端HTML代碼的格式美觀只是方便了你的競爭者閱讀和理解頁面的設(shè)計。

2.4 合并多個Response.Write

如果不考慮最后一次有關(guān)封裝函數(shù)的測試,下一個合理的步驟應(yīng)當(dāng)是將所有字符串從分開的Response.Write語句合并到一個語句,從而減少函數(shù)調(diào)用次數(shù)、提高代碼運行效率。
...
Response.Write("< html >" & _
"< head >" & _
"< title >Response Test< /title >" & _
"< /head >" & _
"< body >" & _
"< h1 >Response Test< /h1 >" & _
"< table >" & _
"< tr >< td >< b >First Name:< /b >< /td >< td >" & FirstName & "< /td >< /tr >" & _
...
"< tr >< td >< b >Birth Date:< /b >< /td >< td >" & BirthDate & "< /td >< /tr >" & _
"< /table >" & _
"< /body >" & _
"< /html >")
/app1/response3.asp片斷

最好記錄 = 8.08 毫秒/頁
響應(yīng)時間 = 7.05 毫秒/頁
差額 = -1.03 毫秒 (減少 12.7%)




這是目前為止最好的方法。

2.5 合并多個Response.Write,且在每一行的末尾增加CRLF

也有人非常關(guān)注他們的HTML代碼在瀏覽器端是否美觀,因此我們又在每一行HTML代碼的末尾加上了一個回車,使用的是vbCRLF常量,其他的測試代碼與上例一樣。
...
Response.Write("< html >" & vbCRLF & _
"< head >" & vbCRLF & _
" < title >Response Test< /title >" & vbCRLF & _
"< /head >" & vbCRLF & _
...
/app1/response5.asp片斷

最好記錄 = 7.05 毫秒/頁
響應(yīng)時間 = 7.63 毫秒/頁
差額 = +0.58 毫秒 (增加 8.5%)




結(jié)果是性能略有下降,這可能是因為增加了字符串連接操作,同時輸出的文本也增加了。

2.6 意見

根據(jù)上述ASP輸出測試的結(jié)果,我們得出如下編碼規(guī)則:

避免過多地使用內(nèi)嵌ASP。
把盡可能多的Response.Write語句合并成單個語句。
絕對不要為了加上CRLF而封裝Response.Write。
如果要格式化HTML輸出,直接在Response.Write語句后面加上CRLF。
(出處:熱點網(wǎng)絡(luò))

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
亚洲一卡二卡三卡四卡无卡久久| 亚洲国产精品久久艾草纯爱 | 亚洲精品综合在线| 六月婷婷久久| 国产白丝精品91爽爽久久| 久久免费看少妇高潮| 欧美日韩在线播放一区二区| 亚洲婷婷综合色高清在线| 亚洲理伦在线| 美女视频一区二区三区| 欧美r级在线观看| 国产精品美女xx| 亚洲另类春色国产| 玖玖精品视频| 一区二区国产日产| 国产成人综合精品三级| 亚洲在线国产日韩欧美| 国产一区二区三区观看| 久久久三级国产网站| 欧美日韩一本到| 国产精品日韩一区二区| 成人污污视频在线观看| 免费在线观看日韩欧美| 亚洲美女屁股眼交3| 日韩女优电影在线观看| 色综合久久天天| 在线播放一区| 欧美色欧美亚洲另类七区| 懂色av中文字幕一区二区三区| 亚洲国产精品视频| 一区二区三区四区在线免费观看 | 在线看一区二区| 一本高清dvd不卡在线观看 | 欧美激情一区二区三区在线视频| 韩日av一区二区| 日韩二区三区四区| 久久国产人妖系列| 亚洲视频一二三区| 欧美亚洲免费在线一区| 欧美性受xxxx黑人xyx性爽| 日本高清不卡aⅴ免费网站| 久久综合一区二区三区| 欧美性受极品xxxx喷水| 欧美一区午夜视频在线观看| 2023国产一二三区日本精品2022| 久久只精品国产| 亚洲最快最全在线视频| 男女男精品网站| 91论坛在线播放| 久久婷婷麻豆| 精品日韩在线一区| 亚洲自拍偷拍九九九| 国产九色精品成人porny | 午夜天堂影视香蕉久久| 久久精品国产秦先生| 99re8在线精品视频免费播放| 色婷婷综合视频在线观看| 国产精品久线在线观看| 1区2区3区精品视频| 夜夜嗨av一区二区三区四季av| 国产精品视频线看| 亚洲三级小视频| 久久99九九99精品| 亚洲美女在线一区| 日韩二区三区在线观看| 激情偷乱视频一区二区三区| eeuss鲁一区二区三区| 91女人视频在线观看| 噜噜噜噜噜久久久久久91| 日韩一区二区精品| 亚洲成av人综合在线观看| 99v久久综合狠狠综合久久| 久久aⅴ国产紧身牛仔裤| 久久精品夜夜夜夜久久| 国产精品中文字幕一区二区三区| 一本色道久久综合亚洲精品高清| 精品国产乱码久久久久久影片| 久久精品99久久久| 亚洲综合三区| 欧美国产精品久久| av一二三不卡影片| 欧美日韩精品欧美日韩精品一综合| 中文字幕一区在线观看视频| 国产剧情一区二区| 欧美精品在线观看一区二区| 日韩电影在线免费看| 久久国产免费| 亚洲图片自拍偷拍| 在线观看一区不卡| 国产精品99久久久久久久vr| 欧美成人乱码一区二区三区| 91在线精品一区二区三区| 久久这里只有精品首页| 国产美女娇喘av呻吟久久| 911精品国产一区二区在线| 久久不见久久见免费视频1| 色老综合老女人久久久| 日本亚洲三级在线| 欧美一区二区美女| 99精品久久99久久久久| 中文字幕亚洲一区二区va在线| 午夜性色一区二区三区免费视频| 国产精品久久久久久福利一牛影视| 亚洲精品极品| 国产精品一线二线三线精华| 国产婷婷精品av在线| 久久综合九色99| 成人午夜免费av| 国产精品精品国产色婷婷| 可以看av的网站久久看| 成人国产一区二区三区精品| 中文字幕一区二区三区精华液| 亚洲经典在线| 国产成人免费9x9x人网站视频| 亚洲同性同志一二三专区| 精品乱码亚洲一区二区不卡| 亚洲综合欧美| 欧美日韩亚洲一区| 天天亚洲美女在线视频| 中文字幕精品一区二区精品绿巨人| 一区二区三区三区在线| www.av精品| 日本中文一区二区三区| 国产精品久久久久久户外露出 | 国产精品蜜臀av| 日韩欧美国产一二三区| 欧美视频在线一区二区三区| 91久久亚洲| 99综合影院在线| 国产精品99久| 成人av资源网站| 九九**精品视频免费播放| 亚洲一区二区三区四区不卡| 国产精品网站一区| 国产亚洲午夜高清国产拍精品| 日韩精品一区二区三区四区| 日韩视频在线一区二区| 欧美日本视频在线| 日韩美女一区二区三区| 欧美日韩国产天堂| 91精品国产麻豆国产自产在线| 亚洲经典三级| 久久人人97超碰人人澡爱香蕉 | 麻豆成人小视频| 欧美日韩一区久久| 久久久一区二区三区| 国产精品久久久久久久久免费丝袜| 日韩午夜精品视频| 国产拍揄自揄精品视频麻豆| 中文天堂在线一区| 一区二区三区国产精华| 久久精品免费看| 欧美国产高清| 在线影视一区二区三区| 欧美一区二区日韩一区二区| 中文字幕av一区二区三区免费看| 一区二区三区蜜桃| 国产一区二区三区精品视频| 国产成人av在线影院| 一本久道综合久久精品| 日韩欧美视频一区| 亚洲电影你懂得| 91农村精品一区二区在线| 欧美唯美清纯偷拍| 一区二区三区不卡在线观看| 青青草97国产精品免费观看无弹窗版| www.日韩在线| 色婷婷av一区| 亚洲欧洲韩国日本视频 | 日本一区二区成人| 国产福利电影一区二区三区| 国产精品久久国产愉拍 | 亚洲国产综合色| 国产在线不卡| 欧美精品一区男女天堂| 国产成人免费高清| 欧美片网站yy| 麻豆成人综合网| 欧洲一区在线观看| 亚洲国产日产av| 欧美精品一区二区视频| 日韩免费视频一区二区| 国产一区二区久久| 91 com成人网| 国产69精品久久777的优势| 在线免费av一区| 日韩国产欧美在线观看| 亚洲一区国产一区| 午夜精品久久久久久| 国产乱人伦精品一区二区| 一区二区三区小说| 国产日韩欧美在线播放不卡| 亚洲色图制服诱惑 | 一区二区在线电影| 久久精品五月婷婷| 久久99热99| 国产婷婷色一区二区三区| 亚洲综合丁香| 狠狠狠色丁香婷婷综合激情| 日韩网站在线看片你懂的|