网站效能调整及实务应用_第1页
网站效能调整及实务应用_第2页
网站效能调整及实务应用_第3页
网站效能调整及实务应用_第4页
网站效能调整及实务应用_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

InsightsandAnswersforITProfessionalsInternetInformationServer5.0

網站效能調整及實務應用林純忠

應用軟體開發顧問經理(臺灣微軟)王達時

臺灣微軟顧問(育碁數位科技)講座大綱IIS5.0架構剖析IIS5.0效能調整多層式(n-tier)架構下的效能調整要訣台大大考查榜系統研討IIS5.0架構剖析共用資訊WebDistributedAuthoringandVersioning(WebDAV)支援Web資料夾支援FrontPageServerExtension支援最新的Internet標準利用一個IP位址的多個網站支援新聞與郵件PICS分級HTTP壓縮FTP重新連線建立以Web為基礎的應用程式(一)ActiveServerPages您可以使用伺服器端的指令檔以及元件,來建立動態的內容/workshop物件的效能加強ASP對其常安裝的元件提供效能加強效的版本XML的整合性建立具有交換格式化XML資料能力的應用程式/xmlWindowsScriptComponents此可供開發人員將公司邏輯指令檔程序轉換為對Web應用程式及其他支援COM元件集的COM元件建立以Web為基礎的應用程式(二)瀏覽器相容性元件ASP自我調整ASP指令編碼應用程式保護ADSI2.0將伺服器作業系統的功能帶到Web上(一)多重站台主管能力多重使用者網域使用者管理授權處理限制Web網站頻寬限制整合及升級Microsoft管理主控台(MMC)工作板將伺服器作業系統的功能帶到Web上(二)可靠的IIS重新啟動備製及復原帳戶處理改進的自訂錯誤訊息設定選項遠端管理終端服務集中管理Web安全服務整合的Web安全性SecureCommunications分類驗證Server-gatedCryptography安全精靈IP及Internet網域約束KerberosVersion5AuthenticationProtocolCompliance憑證存放FortezzaIIS5.0效能調整效能調整是一種藝術IIS5.0架構簡介inetinfo.exewsock32.dllIISProcessTCPIPUsermodeKernelmodenetworkcardInter-orintra-networkdllhost.exedllhost.exedllhost.exeASP:Out-of-ProcessISAPI:Out-of-ProcessCGIOut-of-Process動態網頁

vs.靜態網頁IIS處理程序(IISProcess)負責處理靜態要求範例:get/prices/apple.htm動態要求以不同的方式處理:ISAPI動態連結程式庫(DLLs)範例:get/pricing.dll?paramaters可以In-Process

或Out-of-Process方式執行CGI:IIS起始(spawn)一程序,並執行要求範例:get/pricing.exe?parameters只能以獨立處理程序(OutOfProcess)的方式執行,且於建立處理程序時會花費大量系統資源如有必要,請使用ISAPI執行ASP(一)ActiveServerPagesenable

server-sideprocessingHTTPrequest

(ASP)HTTPresponse

(HTML)15Client234.ASPServer

ASP.DLLHTMLASPScript

Engine/templates執行ASP(二)ActiveServerPagesenable

server-sideprocessingHTTPrequest

(ASP)HTTPresponse

(HTML)15Client234.ASPServer

ASP.DLLHTMLASPScript

Engine/templatesASP要求Microsoftscriptingsolutione.g.get/prices.aspASP要求視同ISAPI要求一般處理使用者使用VBScript或Jscript撰寫特色在執行時(runtime)解譯易於修改及撰寫和OLEAut,COM有十分緊密的關係ASPScriptEngine/templates的快取十分重要,但也需要很多記憶體效能vs.彈性效能Static(100)>ISAPI(50)>ASP(10)>CGI(1)彈性ASP>CGI>ISAPI>Static容錯性CGI=ASP(OOP)=ISAPI(OOP)>ASP(INP)=ISAPI(INP)=Static靜態要求效能調整秘訣IIS5.0快取靜態資料於本身的記憶體中IIS4.0使用系統的檔案快取IIS5.0快取調整參數

\\HKLM\System\CurrentControlSet\Services\Inetinfo\ParametersMemCacheSize

(units:MB):這個參數會指定IIS將用於其本身檔案快取的最大記憶體容量(50%RAM)MaxCachedFileSize

(bytes):允許快取中的最大檔案大小(256KB)ObjectCacheTTL

(seconds):其定義了物件(包括檔案)保留在快取記憶體中的時間長度(30s)IISlogging會佔用5~8%CPU時間如果可以,請使用IISAdmin關閉logvisits動態要求效能調整秘訣(一)使用IIS處理程序(in-process)取得更佳效能表現使用獨立處理程序(OutOfProcess)建立更穩定的網站

使用IISAdmin(應用程式保護)來更改設定:INP(low),OOP(mediumandhigh)開啟Keep-Alive設定除非必要,請不要使用CGI動態要求效能調整秘訣(二)ASP調整設定W2K較NT4有更佳的表現增加快取ASPScriptEnginesAspScriptEngineCacheMax(Default:125)

值應等於或大於CPU的數量再加上1,再乘上AspProcessorThreadMax的設定值增加快取ASPScript

TemplatesAspScriptFileCacheSize(Default:250)調整AspProcessorThreadMax(Default:25)

IIS4(10)->IIS5(25)調整AspThreadGateEnabled

以上設定,要測試過才知道IIS處理程序、獨立處理程序

以及

集區處理程序的效能比較應用程式如何影響

IIS4.0的正常運作Web服務故障!InProcess(INETINFO)ApplicationApplicationOutofProcessApplication1OutofProcessApplication2IIS5.0-應用程式管理的增強功能獨立處理程序不再嚴重影響效能應用程式儘量避免以IIS處理程序執行集區處理程序讓IIS5.0更具延展性PooledoutofProcessApplication2InProcess(INETINFO)Application1Application3Application

OutofProcessApplication1ApplicationOutofProcessApplication2PooledoutofProcessApplication1Application2Application3Web服務持續運作

!集區處理程序IIS5.0的應用程式設定IIS處理程序獨立處理程序集區處理程序DemoDLLHostDLLHostWAMPooledoutofProcess(DLLHost)Application

Application

Application

WAMApplication

WAMApplication

InProcess(INETINFO)Application

Application

WAMRPCRPCRPCRPC在IIS5.0上的改變WAM:WebApplicationManager記憶體的使用量效能部署應用程式的建議現學現用:應用程式應該以IIS處理程序執行嗎?IIS5.0對應用程式預設的處理程序為何

?預設的處理程序提供最佳的保障、效能,以及延展性考量使用獨立處理程序執行重要的應用程式,以便與其它網站應用程式隔離IIS4.0

網站伺服器當機時的處置重新啟動INETINFO中所有的服務由遠端強制關閉服務的方式並不一致正常關閉服務需時較久管理者沒有適當的工具強制關閉IIS服務

(必須使用ResourceKit,無GUI介面)當IIS服務當機時,無自動恢復功能IIS5.0的增強功能

-

重新啟動可靠的重新啟動

:IIS自動復原假如

INETINFO當機,則重新啟動

IIS快速地正常關閉服務先正常關閉服務,若不行再強制關閉多種管理工具MMC提供方便的GUI工具Commandline提供進階的管理例如:定期的重新啟動安全的由遠端重新啟動Demo在IIS5.0設定可靠的重新啟動預設為自動重新啟動網站應用程式不要以IIS處理程序執行將大部分應用程式以集區處理程序執行重要的網站應用程式以獨立處理程序執行在監視程式執行的script中加入IISRESET命令部署重新啟動的建議開發高效能ASP程式的秘訣(一)請勿將物件變數或資料存成Session或Application變數DEMOASP檔案中不要有太多的程式碼被#include的ASP檔案的長度不宜過大減少使用全域變數避免ASP程式碼及HTML標籤混雜設定Response.Buffer=True盡量避免使用SessionState減少重新設定陣列的長度

(Re-dimensionArray)使用.With來多次存取同一個物件中的屬性及method開發高效能ASP程式的秘訣(二)Setrs=Server.CreateObject(“ADODB.RecordSet”)Withrs .CursorLocation=“…..”

.ActiveConnection=“…..”EndWith如何使用COM+大幅增加系統效能應用程式在Windows2000上執行的更好安裝更容易提供更佳的延展性與穩定性更容易部署與管理應用程式在Windows2000上能做的更多DistributedandNetworkTransparentEnhancedend-userexperienceIntegratedsecurity什麼是COM+

COM+=COM+MTS+Services

COM+MTSDCOM/COM

COM+Catalog

QueuedComponents

NewEventModel

ObjectPooling

AdministrationServices

ComponentManagement

TransactionServices

ResourcePooling

Security

EasierAdministration

Interface-basedprogrammingmodel

Remotinginfrastructure

Basiccomponentservices

Distributedcomponentservices異動(transaction)功能多個資料庫之間的「同生共死」功能,確保資料一致完整性元件之間的「協調同步」功能資源共享(resourcepooling)功能資料庫連結共享(databaseconnectionpooling)執行緒共享(threadpooling)物件共享(objectpooling)存取權限安全控制功能對每一個「元件」(component)對一個元件(component)中的每一個「介面」用戶端安裝元件(component)功能管理功能什麼是MTSCOM+:

演進自COM/MTS基本的程式設計模型是一樣的!新的COM+服務提供你更多的設計選項:負載平衡:LoadBalancing交易支援:Transactionsupport佇列元件:QueuedComponents(QC)鬆散結合事件:LooselyCoupledEvents(LCE)記憶體內資料庫:In-MemoryDatabase(IMDB)交易共用屬性管理員:

TransactionalSharedPropertyManager(TSPM)如何使用COM+大幅增加系統效能把ConnectionString寫死在COM程式中使用Disconnectedrecordsets使用合適的記錄鎖定機制非必要不要傳回一整個recordset使用OLE-DB和ADO一致的錯誤處理程序加入記載版本資訊的類別以利除錯製作輔助函數增加程式碼的可讀性多層式(n-tier)架構下的

效能調整要訣停止任何不必要的服務不要將伺服器效能調整為前端模式移除不必要的通訊協定(如:IPX)不要使用3D模式的ScreenSaver不要將過多的服務裝在同一部主機上安裝足夠的記憶體…伺服器的一般調整網站伺服器的調整(一)啟用HTTP的持續作用停用記錄設定非獨立的處理程序調整快取(Cache)記憶體依需求調整網站伺服器的CPU數量靜態網頁採用HTTP壓縮Windows2000請安裝SP1網站伺服器的調整(二)AspProcessorThreadMax:1025AspThreadGateEnable:AspThreadGateLoadLow:50%

可能表示引線被阻斷,或純粹表示載量低,IIS5.0會增加使用中的引線數目,以便即時服務其他要求AspThreadGateLoadHigh:80%

IIS5.0會撤消引線,以減少內容切換的數量ASP處理程序的工作引線一定不會超過CPU個數乘以AspProcessorThreadMax

AspTemplateCache:-1250個檔案SetConnectionTimeout:15min應用程式伺服器的調整(一)ISAPI>ASP>CGI儘可能使用靜態資料、並在客戶端執行一般的資料驗証工作關閉ASPDebugging的選項設定ExpiresHeader只於必要處使用SSL注意由資料庫所產生的延遲、並儘量使用storedprocedure一般而言,若ASP程式超過100行,最好將其轉換成COM物件應用程式伺服器的調整(二)現在緩衝功能預設是啟用的<%Response.Buffer=True%>AspQueueConnectionTestTime(3s)

在IIS5.0中,如果有個要求在佇列中存留超過佇列連線測試時間,則伺服器在開始執行之前,會先檢查看看該用戶端是否仍在連線中

沒有指令的ASP新的流程控制功能

Server.Transfer

新的轉向方法-Server.Transfer

減少往返Server的次數將Session和Application變數值帶到轉向後之URL位址Server.Execute會將轉向後之URL位址之transaction結果(OnTransactionAbort和OnTransactionCommit),帶回原呼叫程式而影響其transaction結果。ClientASPAASPBIIS4.0Request(1)Response.RedirectRequest(2)ClientASPAASPBIIS5.0RequestServer.TransferResponseResponse(2)應用程式伺服器的調整(三)複製集合物件及全域變數到區域變數使用宣告類型程式庫

TypeLibs

<!--METADATATYPE="typelib"FILE="c:\programfiles\commonfiles\system\ado\msado15.dll"-->

使用OptionExplicit

<%OptionExplicit%>不使用Session變數提昇Component效能的建議請勿將STA類型的物件存成Session或Application變數盡量使用固定長度的字串宣告在結束MTS/COM+的元件時請務必呼叫SetComplete/SetAbort使用適當的語法建立元件盡量避免將ASP內建物件傳入MTS元件內當使用VB撰寫元件時,注意元件專案的設定請用ATL來撰寫元件,而勿使用MFC提昇存取資料效能的建議(一)使用OLE-DB取代ODBC使用Connectionpooling請勿將ADOconnection存入Application或Session變數如果回傳的資料只有一筆,可使用storedprocedure取代產生Recordset明確告訴ADO命令的型態如:adCmdText、adCmdTable、adCmdStoredProc請勿使用File-Base的資料庫(如Access)提昇存取資料效能的建議(二)遲一點取得資源,早一點釋放資源重覆使用

Recordsets使用Recordset.CacheSizeDEMO將經常使用的資料快取在應用程式物件中Don’tRequestEntireTableBADRS.Open”tblOrders",myConn,adOpenKeyset,adLockOptimistic,adCmdTableDirectRS.AddNew

RS!order_id=lOrder_IDRS!shopper_id=lShopper_IDRS.UpdateRS.CloseGOODmyConn.OpenmyConn.Open"Orders","sa",""myConn.Execute("INSERTINTOtblOrdersVALUES("&CStr(lOrder_ID)&","&CStr(lShopper_ID)&")"myConn.CloseCachingTechniques<HTML>

<BODY><FORMMETHOD="POST“

ACTION="Add.asp”>Whatisyourfavoriteconfections?

<%=gsProductsConfections()%><p><INPUTTYPE=submit>

</FORM></BODY></HTML><%FUNCTION

GetProductsConfections()sRetVal

=Application("gsProductsConfections")IfsRetVal<>""ThenGetProductsConfections=sRetValElsesSQL="procGetProductsConfections"SetcnNorthwind=Server.CreateObject("ADODB.Connection")

SetrsProducts=Server.CreateObject("ADODB.Recordset")

cnNorthwind.Open("Northwind","sa","")

rsProducts.OpensSQL,

cnNorthwind,

adOpenForwardOnly,

adLockReadOnly

sRetVal

="<SELECTname=cboProducts>"&Chr(13)

DoUntilrsProducts.EOFsRetVal=

sRetVal_&"<OPTIONVALUE

="&_

Cstr(rsProducts("ProductID"))&">"&rsProducts("ProductName")&_

"</OPTION>"&Chr(13)

rsProducts.MoveNextLoopsRetVal

=sRetVal

&"</SELECT>"

&Chr(13)Application("gsProductsConfections")=sRetVal

GetProductsConfections=sRetVal

%>資料庫伺服器的調整(一)使用storedprocedures執行所有資料庫存取的動作利用storedprocedures提供的Precompiledqueryplans特性使效能達到最好修改資料庫架構不會影響middle-tier的程式碼善用資料庫索引(index)只選擇所用到的欄位資料,避免使用“Select*”沒有必要不要使用“Orderby”語法資料庫伺服器的調整(二)選擇適當的通訊協定NamePipesvsTCP/IPSocket有計劃且定期的維護資料庫伺服器執行效能HTML>IDC/HTX>XML>ASP使用效能監視器工具28個改善ASP效能和樣式的訣竅將經常使用的資料快取處理在Web伺服器上將經常使用的資料快取在應用程式或工作階段物件中將資料和HTML快取在Web伺服器的磁碟上ADOSave()andOpen()Scripting.FileSystemObjectXML分析程式MSXML支援儲存和載入XML文件。LookupTable物件避免將非敏捷元件快取在應用程式或工作階段物件中無限制執行緒的元件(除非它們彙總FTM)Apartment-threaded元件。單一執行緒元件Hint28個改善ASP效能和樣式的訣竅不要將資料庫連線快取在應用程式或工作階段物件中合理使用工作階段物件<%@EnableSessionState=False%>將程式碼封裝在COM物件中COM物件有利於將表示邏輯與業務邏輯分開COM物件可以保證程式碼重複使用許多開發人員發現以VB、C++或VisualJ++編寫的程式碼比ASP更容易除錯遲一點取得資源,早一點釋放資源Hint28個改善ASP效能和樣式的訣竅跨程序執行用效能交換可靠性COM元件可以是「未設定的」、「設定為程式庫應用程式」,或「設定為伺服器應用程式」權衡效能與可靠性的合理組態在IIS4.0中,使用ASP低隔離等級,使用MTS伺服器套裝軟體。在IIS5.0上,使用ASP的中隔離等級,並使用COM+程式庫應用程式。使用OptionExplicit28個改善ASP效能和樣式的訣竅在副常式和函數中使用區域變數將經常使用的資料複製到Script變數中避免重新確定陣列的維數使用回應緩衝<%Response.Buffer=True%>Response.Flush批次處理內嵌Script和Response.Write陳述式在開始長途旅行之前使用Response.IsClientConnected使用<OBJECT>列舉物件<objectrunat=serverid=objname>對於ADO和其它元件使用TypeLib連結HintHintHint28個改善ASP效能和樣式的訣竅利用瀏覽器的驗證功能避免在迴圈中使用字串並列啟用瀏覽器和Proxy快取處理<%Response.Expires=10%><%Response.ExpiresAbsolute=#May31,200113:30:15#%><METAHTTP-EQUIV="Expires"VALUE="May31,200113:30:15"><%Response.CacheControl="Public"%>盡可能使用Server.Transfer代替Response.Redirect在目錄URL中使用反斜線<ahref="/workshop/"title="MSDNWebWorkshop">/workshop</a>28個改善ASP效能和樣式的訣竅避免使用伺服器變數Request.ServerVariables集合比其它集合慢得多升級到最新和最出色的微調Web伺服器進行效能測試閱讀資源連結/taiwan/technet網站效能調整及測試工具MicrosoftWebApplicationStressToolMetaEditInetMonPerformanceMonitorIISExceptionMonitorWebApplicationStressTool如何避免成為被測試的對象ROBOTS.TXTUser-agent:stress-agentDisallow:/MetaEditPerformanceMonitorPerformanceMonitor

Web伺服器WebService:CurrentConnectionsWebService:ConnectionsAttempts/secASP:RequestsQueuedASP:Requests/secASP:Errors/secASP:RequestexecutiontimeASP:RequestwaitingtimeProcess(inetinfo):%ProcessorTime使用效能監視器工具的記錄功能PerformanceMonitor

資料庫伺服器Processor:%ProcessorTimeProcess(SQLSERVR):%ProcessorTimeSQLServerGeneralStats:UserConnections和connectionpooling的效率有關PerformanceMonitor

COM+/MTSServerPackagevs.LibraryPackage執行效能比較須把IIS程式調成獨立執行的EXEInetMonExceptionMonitor/TechNet/iis/tools/ixcptmon.aspASP.NETFeatures(一)MultipleLanguageSupportIncreasedPerformanceCompiledcodeCacheClassesandNamespacesServerControlsWebServicesASP.NETFeatures(二)ImprovedSecurityGreaterScalabilityCookie-lessSessionsEasyConfigurationandDeploymentAnimation:TheASP.NETExecutionModel個案研討:(台灣大學)大學聯招查榜系統系統由來國立台灣大學、台灣微軟公司、康柏電腦公司聯合規劃建置大學聯招查榜系統,提供全國十三萬名考生更快、更好的服務。考生及家長們祇要用瀏覽器連上台大計算機暨資訊網路中心的網站http://.tw,或MSN網站(.tw),或使用WAP手機連上http://.tw/wap/,立即獲知是否已考取心目中理想的院校科系。系統需求(一)「每年大學聯考後,所有考生最關切的事情莫過於準時公佈所有的榜單,讓考生可以在第一時間內獲知考試結果」「台灣大學過去三年來一直以能夠提供最正確、最快速、最即時的查榜系統自許,因此對於建置大學聯招查榜系統的條件要求非常嚴格,系統必需具備高穩定性、速度快,且可即時回應數萬名考生同時上網查詢的需求」國立台灣大學計算機暨資訊網路中心主任 林一鵬系統需求(二)WAP手機查榜:有鑑於無線通訊技術的普及,台灣大學決定今年提供WAP手機查榜的最新服務,讓考生及家長可使用WAP手機直接連上台灣大學計算機暨資訊網路中心的伺服器查詢。

Internet線上查榜:提供查詢網頁介面,考生及家長可在家中線上查詢放榜的狀況。

CrossLink功能:當考生查詢到自已考上的學校時,網頁上會提供該校網址的連結,方便您連結至該校了解進一步的相關訊息

查詢新同學系統:除了查詢自已的資料外,考生也可以查詢同一科系上榜同學的資料,先一步看到新同學的姓名。系統架構及流量分析根據去年資料統計,若榜單查詢全部集中在台大計算機暨資訊網路中心發佈,則整體網站尖峰時期的同時上網需求必高於10,000次/秒,以去年單一伺服器流量統計,放榜後一個小時內的網頁pageviews即高達150萬次。系統設計軟體:Microsoft®Windows®2000AdvancedServerIIS5.0做為前端的WebServer使用動態負載平衡技術(WindowsLoadBalancing)軟體程式設計以WindowsDNA分散式架構為基礎,使用ASP及COM+開發系統及元件Microsoft®SQLServer™7.0EnterpriseEdition採用資料庫叢集技術(Clustering)技術以提昇延展性及可靠度硬體:CompaqProliant5500*4配備三顆IntelPentiumIIIXeon處理器ASUS2wayServer*2大考查榜系統軟硬體架構圖TanetWindows2000AdvanceServerCompaqProliant55003CPUWindows2000AdvanceServerCompaqProliant55004CPUWindows2000AdvanceServerCompaqProliant55003CPUWindows2000AdvanceServerCompaqProliant55004CPUWindows2000AdvanceServerDualCPUServerWindows2000AdvanceServerDualCPUServerNTU

Router動態負載平衡網站伺服器叢集IIS5.0資料庫叢集伺服器SQLServerCOM+InternetWAP手機Browserhttp://.twhttp://.tw/wap155MInternetInternetASP效能調整流程圖檢視程式碼28個秘訣中之5,6,7,8,11,13,14,15修改程式碼測試系統效能調整–程式碼的調整減少.asp程式碼約60%(100行30行)減少if…then…else複雜的程式碼移到Storeprocedure及COM元件中

調整秘訣:ScriptEngine執行效率必定比機器碼差,故避免將判斷邏輯(if…)或複雜流程在ASPScript中執行ASP中程式行數越多,對讀取時間及執行效率影響越大可觀察效能監視器中ASP:Requestexecutiontime及ASP:Requestwaitingtime兩數值系統效能調整–IIS的調整AspProcessorThreadMax=250perCPUC:\inetpub\adminscripts\adsutilSetW3SVC/aspprocessorthreadmax250『應用程式保護』設為「高(獨立)」確保ASP可以永遠運作COM元件設為不支援異動支援 調整密訣:

AspProcessorThreadMax

隨著CPU的執行效能的快慢,可嘗試調整之設定測試標準每秒允許同時連線數目標值250*3CPUs*2compaq+250*2cpus(Asus)=2000每個ASPRequest的等待執行時間45秒每個ASP執行時間最慢不得超過30秒每次COM元件執行時間不得超過50ms使用WAS工具作模擬測試測試計劃0秒870ms17ms實際應用成效第一次測試系統只能承受每秒500個連線經過2週的調整和測試之後系統己經可以讓2000個使用者連線放榜當天成績四個小時hits:2,124,203次每一位學生平均等待1.5秒即可查到結果尖峰時期ConcurrentUser:7850ASPresponsetime:870msCOM+responsetime:17ms今年大學聯招會的網路查榜仍由台大計算機及資訊網路中心負責,為了避免以往網路塞車的毛病,台大今年特別由台灣微軟及康柏電腦支援技術,改善查榜系統,號稱半小時內可處理一千八百萬個上網需求,保證不塞車,昨天上午八時起,上網查榜的確順暢,只要輸入姓名或准考證號碼,榜單立刻顯現,還可查詢同學姓名及連線到考上的大學網站,非常方便(聯合報)八十九學年度大學聯招考試今天上午八點整,透過電腦網路系統放榜了。由於“聯招會與台大計資中心、台灣微軟等單位合作設置「考生即時線上查榜服務系統」,因此,考生只要能上網,就能在「一、二秒之內」獲知自己考上哪一個校系,消除往年網路「塞車」的現象。(中國時報)其他成功案例日盛證券.tw戴爾電腦那斯達克www.N和信超媒體……總結IIS5.0簡介IIS5.0效能調整多層式(n-tier)架構下的效能調整要訣(台灣大學)大學聯招查榜系統實際應用成效教育訓練課程/train_cert/win2kmocCourse#1557InstallingandConfiguringMicrosoftWindows2000Course#1562DesigningaMicrosoftWindows2000NetworkingServicesInfrastructure技術白皮書/windows/server/Technical/networking//ntserver/commserv/techdetails/更多的資源 整體服務

Insights&AnswersforITProfessionalsTechNet光碟、TechNetPlus光碟Microsoft®

TechNet

實務技術講座網站/taiwan/technetTechNetFlash資訊技術人電子快訊MicrosoftKnowledgeBase所有產品的

ResourceKit持續更新的ServicePacks深入的實務技術資訊評估與部署指南TechNet線上研討會(SeminarOnline)個案研討策略白皮書…TechNetCD標準版內容

一年十二期TechNetPlusCD內容TechNetPlus

= TechNet標準版光碟的內容 +

Microsoft各種最新產品的Beta評估版以及正式評估版光碟2001年2月TechNetPlusMicrosoftMobileInformation2001Server企業版BetaMicrosoftSharePointPortalServerRC-1Exchange2000ConferencingServer正式評估版Exchange2000Server企業版正式評估版MicrosoftSQLServer2000中文版正式評估版MicrosoftBizTalkServer2000企業版正式評估版MicrosoftInternetSecurityandAcceleration(ISA)Server2000企業版正式評估版MicrosoftHostIntegrationServer2000正式評估版MicrosoftVisio2000標準版正式評估版<%FunctionGetEmploymentStatusListDimdd=Application("EmploymentStatusList")Ifd=""Then'FetchEmploymentStatusListfunction(notshown)'fetchesdatafromDB,returnsanArrayd=FetchEmploymentStatusList()Application("EmploymentStatusList")=dEndIfGetEmploymentStatusList=dEndFunction%>將經常使用的資料快取在應用程式

或工作階段物件中'GetRecordset,returnasanArrayFunctionFetchEmploymentStatusListDimrsSetrs=CreateObject("ADODB.Recordset")rs.Open"selectStatusName,StatusIDfromEmployeeStatus",_"dsn=employees;uid=sa;pwd=;"FetchEmploymentStatusList=rs.GetRows()‘ReturndataasanArrayrs.CloseSetrs=NothingEndFunction為所需的每個資料塊編寫類似的函數'GetRecordset,returnasHTMLOptionlistFunctionFetchEmploymentStatusListDimrs,fldName,sSetrs=CreateObject("ADODB.Recordset")rs.Open"selectStatusName,StatusIDfromEmployeeStatus",_"dsn=employees;uid=sa;pwd=;"s="<selectname=""EmploymentStatus"">"&vbCrLfSetfldName=rs.Fields("StatusName")'ADOFieldBindingDoUntilrs.EOF'NextlineviolatesDon'tDoStringConcats,'butit'sOKbecausewearebuildingacaches=s&"<option>"&fldName&"</option>"&vbCrLfrs.MoveNextLoops=s&"</select>"&vbCrLfrs.CloseSetrs=Nothing'SeeReleaseEarlyFetchEmploymentStatusList=s'ReturndataasaStringEndFunction做更進一步改進,可以將HTML快取為清單<%'errorhandingnotshown...ConstUPDATE_INTERVAL=300'Refreshinterval,inseconds'FunctiontoreturntheemploymentstatuslistFunctionGetEmploymentStatusListUpdateEmploymentStatusGetEmploymentStatusList=Application("EmploymentStatusList")EndFunction'PeriodicallyupdatethecacheddataSubUpdateEmploymentStatusListDimd,strLastUpdatestrLastUpdate=Application("LastUpdate")下列範例存放帶有快取資料的時間戳記,並在一段時間間隔之後更新資料If(strLastUpdate="")Or_(UPDATE_INTERVAL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论