免费无码视频,五月婷婷丁香,亚洲日韩一区二区,亚洲精品黄色,久久日韩精品一区二区三区色欲,成人在线网站,无码国产精品一区二区高潮,亚洲精品一区

品優(yōu)網(wǎng)絡(luò) 十六年(2003-2018)專注
優(yōu)化ASP應(yīng)用程序性能
日期:2014-12-30 作者:admin 來源: 瀏覽次數(shù):0 網(wǎng)友評(píng)論 0

企業(yè)網(wǎng)站推廣1

存取數(shù)據(jù)庫(kù)將會(huì)很快地減慢程序,但是沒有數(shù)據(jù)庫(kù),許多站點(diǎn)也不行。不要使用內(nèi)植的SQL語(yǔ)句來存取數(shù)據(jù)庫(kù),你可
以通過使用存儲(chǔ)過程來訪問數(shù)據(jù)庫(kù),這將會(huì)贏得很大的程序性能,而且,也非常得靈活。使用存儲(chǔ)過程,并配合ActiveX
Data Objects(ADO),就能更大程度地控制存儲(chǔ)過程如何輸出。
   確認(rèn)數(shù)據(jù)庫(kù)經(jīng)過了索引,因?yàn)檫@將直接影響到應(yīng)用程序的整體性能。同時(shí),注意在數(shù)據(jù)庫(kù)上運(yùn)行更新統(tǒng)計(jì)程序,從而
更好地跟蹤數(shù)據(jù)的分布。注意,一些數(shù)據(jù)庫(kù),比如MS Access,不適于企業(yè)級(jí)應(yīng)用,而SQL Server 7.0或者Oracle更適于做
這些。
   讓SQL做設(shè)計(jì)好的工作,包括對(duì)數(shù)據(jù)進(jìn)行計(jì)算、加入、排序和分組。不要用其他語(yǔ)言寫這些功能,可以編寫一個(gè)查詢
來完成。
   任何要計(jì)算的字段就是下面所示的簡(jiǎn)單語(yǔ)法:
   SELECT count(*) FROM publishers WHERE state='NY'
   如果要計(jì)算一個(gè)特殊字段,必須先按那個(gè)字段分組,否則,將不會(huì)工作:
   SELECT count(city),city FROM publishers GROUP BY city
   接著確定排序方法:
   SELECT * FROM TableName WHERE FieldName >50 OR FieldName< 100 ORDER BY FieldName2, FieldName3
   仍然使用ODBC系統(tǒng)或者文件DSN來連接數(shù)據(jù)庫(kù),或者使用很快的OLEDB技術(shù)來連接。使用后者,當(dāng)移動(dòng)Web文件時(shí),不
再需要修改配置。
   OLEDB位于應(yīng)用程序與ODBC層之間。在ASP頁(yè)面中,ADO就是位于OLEDB之上的程序。調(diào)用ADO時(shí),首先發(fā)送給OLEDB,然
后再發(fā)送給ODBC層。可以直接連接到OLEDB層,這么做后,將提高服務(wù)器端的性能。怎么直接連接到OLEDB呢?
   如果使用SQLServer 7,使用下面的代碼做為連接字符串:
strConnString = "DSN=';DRIVER={SQL SERVER};" & _
"UID=myuid;PWD=mypwd;" & _
"DATABASE=MyDb;SERVER=MyServer;"
   更重要的參數(shù)就是“DRIVER=”部分。如果你想繞過ODBC而使用OLEDB來訪問SQL Server,使用下面的語(yǔ)法:
strConnString ="Provider=SQLOLEDB.1;Password=mypassword;" & _
"Persist Security Info=True;User ID=myuid;" & _
"Initial Catalog=mydbname;" & _
"Data Source=myserver;Connect Timeout=15"
   為什么這很重要
   現(xiàn)在你可能奇怪為什么學(xué)習(xí)這種新的連接方法很關(guān)鍵?為什么不使用標(biāo)準(zhǔn)的DSN或者系統(tǒng)DSN方法?好,根據(jù)Wrox在他
們的ADO 2.0程序員參考書籍中所做的測(cè)試,如果使用OLEDB連接,要比使用DSN或者DSN-less連接,有以下的性能提高表
現(xiàn):
   性能比較
SQL Access
OLEDB DSN OLEDB DSN
連接時(shí)間: 18 82 連接時(shí)間: 62 99
重復(fù)1,000個(gè)記錄的時(shí)間: 2900 5400 重復(fù)1,000個(gè)記錄的時(shí)間: 100 950
   這個(gè)結(jié)論在Wrox的ADO 2.0程序員參考發(fā)表。時(shí)間是以毫秒為單位,重復(fù)1,000個(gè)記錄的時(shí)間是以服務(wù)器油標(biāo)的方式
計(jì)算的。
   ● 只有可能,就使用客戶端腳本對(duì)用戶輸入進(jìn)行驗(yàn)證,以此來更小化HTTP請(qǐng)求的循環(huán)操作。
   如果瀏覽器具備執(zhí)行javascript或其他腳本的能力,請(qǐng)充分應(yīng)用,從而解放服務(wù)器端的資源。
   下面的VBScript腳本在用戶的瀏覽器端運(yùn)行,檢查用戶信息,然后再提交給服務(wù)器:
< SCRIPT LANGUAGE="VBScript" >
< !--
Sub btnEnter_OnClick
Dim TheForm
Set TheForm = Document.MyForm
If IsNumeric(TheForm.Age.Value) Then
TheForm.submit
Else
Msgbox "Please enter a numerical age."
End if
End Sub
//-- >
< /SCRIPT >
< FORM method="POST" name=MyForm action="myfile.asp" >
Name: < INPUT typr="text" name="Name" >
Age: < INPUT type="text" name="Age" >
< INPUT type="button" name="btnEnter" value="Enter" >
< /FORM >
   ● 使用局部變量,而不要使用全局變量
   因?yàn)榫植孔兞靠梢院芸斓乇籄SP腳本引擎所存取,整個(gè)名字空間不必被搜索。避免重定義數(shù)組,在數(shù)組初始化時(shí)就分
配足夠的尺寸,會(huì)大大地提**率。這么做可能浪費(fèi)一些內(nèi)存,但是確贏得了速度,尤其是在服務(wù)器有很大的負(fù)載時(shí)。
   ● 使用 < OBJECT > 標(biāo)記創(chuàng)建對(duì)象
   如果需要引用一個(gè)實(shí)際上可能不被使用的對(duì)象,使用 < OBJECT >標(biāo)記來例示它們,而不要用Server.CreateObject。
后者將導(dǎo)致對(duì)象立即被創(chuàng)建,而< OBJECT >是當(dāng)對(duì)象被前幾次引用時(shí)才被創(chuàng)建。
   比如,下面的代碼演示了使用 < OBJECT >標(biāo)記來創(chuàng)建一個(gè)應(yīng)用程序范圍內(nèi)的AD Rotator對(duì)象實(shí)例:
< OBJECT runat=server scope=Application id=MyAds progid="MSWC.AdRotator" >
< /OBJECT >
   然后,就可以在其他頁(yè)面引用它:
   ● 打開“Option Explicit”
   在VB和VBScript中,你可以不用明確地定義就使用變量。但是打開“明確定義變量”選項(xiàng),將有助于提高程序性能。
未定義的局部變量是很慢的,因?yàn)樵谧兞縿?chuàng)建前,整個(gè)的名字空間都要搜索,看看是否變量已經(jīng)存在。所以,請(qǐng)打開
“Option Explicit”,這是一個(gè)好的編程習(xí)慣。
   ● 慎用 Server.MapPath
   除非必須,不要使用Server.MapPath!相反,如果知道路徑,就使用明確的文字路廄凹復(fù)表示。使用MapPath,將要求
IIS去取回當(dāng)前服務(wù)器路徑,這意味著對(duì)IIS一個(gè)特殊的請(qǐng)求,從而降低了程序性能。另外的完成這個(gè)工作的方法是在局部
變量中保存路徑信息,當(dāng)需要使用它時(shí),服務(wù)器就不用再被過度請(qǐng)求。
   檢查怎樣做
   你可以通過下面的工具來測(cè)算服務(wù)器性能:Task Manager,NetMon 和 PerfMon。用WCAT (Web Capacity Analysis
Tool)測(cè)量服務(wù)器的容量。你可以使用WCAT來檢查Internet信息服務(wù)和網(wǎng)絡(luò)配置如何響應(yīng)不同的客戶端對(duì)內(nèi)容、數(shù)據(jù)和HTML
頁(yè)面的請(qǐng)求。測(cè)試的結(jié)果可以被用來決定如何更優(yōu)化服務(wù)器和網(wǎng)絡(luò)配置。
   通過更優(yōu)化ASP應(yīng)用程序性能,Web站點(diǎn)應(yīng)用將會(huì)變得很快,更終做到:當(dāng)不需要時(shí),就不需要去做影響性能的點(diǎn)擊。
   總結(jié)
   當(dāng)談到ASP性能時(shí),要涉及到許多方面,本文已經(jīng)討論了一些。但是,對(duì)于每個(gè)具體的應(yīng)用,應(yīng)該有單前幾的考慮,并
不是這里討論的技巧都能很合適地滿足。

優(yōu)化ASP應(yīng)用程序性能,歡迎合作。

企業(yè)網(wǎng)站推廣2

查看更多寧波網(wǎng)站建設(shè)應(yīng)用程序性能ASP

寧波網(wǎng)站建設(shè) (http://www.liejin.net.cn/) 版權(quán)與免責(zé)聲明
    1、凡本網(wǎng)注明“來源:寧波品優(yōu)網(wǎng)絡(luò)”字樣的所有作品,版權(quán)均屬于浙江省寧波海曙品優(yōu)網(wǎng)絡(luò)技術(shù)有限公司,如需轉(zhuǎn)載、摘編或利用其它方式使用上述作品,請(qǐng)與本網(wǎng)聯(lián)系。
    2、凡本網(wǎng)注明“來源:XXX(非寧波品優(yōu)網(wǎng)絡(luò))”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。寧波網(wǎng)站建設(shè)的轉(zhuǎn)載僅為信息的廣泛傳播,如有侵權(quán)請(qǐng)及時(shí)告之刪除。
返回:寧波網(wǎng)站建設(shè)
察雅县| 虞城县| 和田市| 大悟县| 郎溪县| 木兰县| 东光县| 安新县| 叙永县| 陈巴尔虎旗| 汪清县| 昭通市| 杭锦旗| 定陶县| 甘南县| 洛南县| 威信县| 龙岩市| 元氏县| 仙居县| 平罗县| 平武县| 平谷区| 尉氏县| 额敏县| 台中市| 柳林县| 弋阳县| 苍南县| 大关县| 五莲县| 广宗县| 尼玛县| 卫辉市| 岚皋县| 阿坝| 通道| 彭水| 册亨县| 山东| 麦盖提县|