今天我們要學習的是關(guān)于伸縮性、可用性和可靠性的最好的一些練習。我們要討論負載平衡和優(yōu)化你的站點,怎樣使用Security Manager去保護你的站點,以及怎樣分析你的站點通信量。所以我們今天要涉及到很多的內(nèi)容。
我們的課程安排是從50,000米的高空對Windows DNA進行總覽。我們要討論伸縮性和可用性;怎樣優(yōu)化一個電子商務站點;怎樣保護這個電子商務站點;以及最后,是怎樣分析電子商務站點的通信量。我們也要在這個部分中討論UA Plus。
下一張幻燈片是Windows DNA展開模型。你會注意到我們有表達層、商務邏輯層以及數(shù)據(jù)層。我們在表達層中,有少量的用戶,他們是你的標準Internet用戶,以及大量的標準Visual Basic或其他程序語言客戶級別上的用戶。
注意我們要從大量的用戶來到少量的用戶,而這個動作實際上是由Windows DNA所推動的。在商務邏輯層中,我們放入了所有的商務問題。而我們在數(shù)據(jù)層中,我們有數(shù)據(jù)庫、Legacy系統(tǒng),以及外部應用程序。
那么為什么我們從2層系統(tǒng)來到3層系統(tǒng)呢?是的,第一,2層系統(tǒng)的縮放性不好,主要是因為它的腳本很大。并且它需要一個單獨的服務器。它性能較低并且腳本不適于放入大量的代碼。它沒有壓縮商務邏輯并且不容易被重新使用。
現(xiàn)在相反的讓我們來到3層模型,這里是一個ASP商業(yè)應用程序。注意我們有3層,第一層是ASP和html頁面。這是我們在最新的一張幻燈片中的表達層。它包括,通常,你的UI(即用戶界面)、一些簡單的數(shù)據(jù)確認,伴隨著ASP及html代碼。
在第二層,即中間層或商務邏輯層,我們有商務目標層。這包括你的商業(yè)規(guī)則并且它通過各種資源鞏固你的數(shù)據(jù)。就是在這里發(fā)生的。
在最后一層,是數(shù)據(jù)服務層,那就數(shù)據(jù)完整性規(guī)則。重要的是要知道那不僅是數(shù)據(jù)庫管理系統(tǒng),而且兼有電子郵件系統(tǒng)和各種其他的外部系統(tǒng)的功能,這允許我們不被在2層系統(tǒng)中的各種限制條件所妨礙。
這里是一個對于商業(yè)的應用工具,依舊使用ASP。我們現(xiàn)在有Internet Information Server,在我們的活動活動服務器頁面層中,我們現(xiàn)在將顯示腳本語言,VB script或Java script以及我們的活動服務器頁面層,然后直接連接商業(yè)組件層,它是VB語言、CC Plus或Java。
然后是我們的最后一層-數(shù)據(jù)層,在這個例子中,我們使用sequel服務器。隨之而來的問題是,為什么我們要使用3層。我們已經(jīng)討論過2層系統(tǒng)的局限性。3層系統(tǒng)是最終可縮放的。它可以縮放到各種服務器,例如一個網(wǎng)絡(luò)字型庫。我們可以將商業(yè)組件移動到一個中間層服務器。我們也可以將數(shù)據(jù)層移動到一個數(shù)據(jù)服務器,這允許我們擴展地更大并最終允許我們以更完善的方式來保護我們的系統(tǒng)。
我們現(xiàn)在有可反復使用的系統(tǒng)因為所有系統(tǒng)都是基于組件的,我們可以一遍又一遍地使用。它現(xiàn)在可以由ASP調(diào)用也可以由傳統(tǒng)客戶,例如VB、C++、Office以及應用程序的VB來調(diào)用。
然后最重要的因素是它是完全可擴展的,這意味著我們可以使用現(xiàn)成的組件。我們可以使用第三部分組件并且我們可以最終建立常規(guī)組件去使用在這個站點或任何其他我們要遇到的站點。
我們討論了很多關(guān)于可伸縮性、高可用性的問題,但實際上我們中只有很少的人知道這兩個術(shù)語的含義。于是我們要定義它們,可伸縮性是一個應用程序按照用戶要求的增長而在大小上進行增長的能力。高可用性是應用程序?qū)τ谠趽p失一個組件的情況下繼續(xù)操作的能力。
關(guān)于這個問題的比較有意思的是大多數(shù)人記不住伸縮性既可以是垂直的,又可以是水平的,你可以向上伸縮或向后伸縮,取決于特定站點的負載。
我們在討論伸縮性和可用性的時候,我們實際上是討論關(guān)于這兩項的什么問題?是的,在可用性方面,我們討論的是硬件問題、操作和服務問題,然后是數(shù)據(jù)和文件管理問題。
在伸縮性中,我們最終討論的是關(guān)于垂直性問題、放大或縮小;水平性問題,縮放到一個服務器地段;或者結(jié)構(gòu)問題。也許我們將最終移動到一個更大的服務器。
一些最好的習慣是在你考慮伸縮性和可用性時,從一開始就考慮到伸縮性和高可用性。當你開始設(shè)計你的站點時,記住從剛開始就考慮這樣你就不會遇到如此多的問題。
對開發(fā)者隱藏你的物理環(huán)境。使應用程序可移植。這極大的提高了伸縮性/可用性以及最終提高了安全性。確信將安全性和這些其他的問題都交給了管理員,而不是開發(fā)者,這樣當你處理伸縮性和可用性問題時,他們不會損害到你的安全性。并且在最后,利用你平臺服務的優(yōu)勢以使你可以使用建立在當前Win 2000系統(tǒng)的所有內(nèi)容。
這個幻燈片顯示了一個對于標準電子商務站點的好的開端。你將注意到我們有兩個網(wǎng)絡(luò)服務器和一個成員服務器。你不需要必須有兩個。我們只是用在這個幻燈片里。所有的這些最后都存儲在同一臺計算機中但對于這個例子,我們說這是一個好的開端。
我們有LDAP、身份認證、活動用戶目標、內(nèi)容調(diào)度和所有在我們網(wǎng)絡(luò)站點中的商業(yè)服務。相反我們現(xiàn)在要做的是用下一個,即成熟的應用程序。
現(xiàn)在,在我們的成熟應用程序中,我們將內(nèi)容調(diào)度商業(yè)服務展開到一個網(wǎng)絡(luò)地段中。這個網(wǎng)絡(luò)地段允許我們按需要添加服務和服務器,這讓我們不需要再憂慮改變程序的問題。我們現(xiàn)在為MTS部分中的活動用戶目標得到身份認證。我們也在主機綜合中的得到其他商業(yè)目標并且在我們的主機中,維持一個構(gòu)架或一個Legacy系統(tǒng)。 我們要從籃或筐中得到sequel服務器。我們從產(chǎn)品中得到sequel服務器并由成員的一簇得到LDAP服務。
現(xiàn)在,關(guān)于它的有意思的事是如果你需要你可以最終添加進好的標準。你可以使用更多的LDAP或SNA服務的服務器以在你所關(guān)心方面的性能擁有冗余。你要在今后對性能方面進行注意。你也許要為了更深的理解而將這些目標打亂。這個設(shè)置允許你進行放大或甚至在你需要時,用一些重組而將其縮小。
于是,一些水平縮放的策略,實際上僅僅是重申我們以前所討論過的,即IIS,你也需要移動到一個網(wǎng)絡(luò)地段。NTS將是在IIS服務器中的一個網(wǎng)絡(luò)地段。從你的網(wǎng)絡(luò)地段和對于一些商業(yè)目標的負載平衡中分離MTS。sequel組件將劃分你的數(shù)據(jù)庫并且為你的成員組件,劃分目錄并使用專職的LDAP服務。
高可用性策略將再一次使用IIS,一個網(wǎng)絡(luò)地段。注意NTS將與上一個幻燈片中相同但結(jié)果將把服務器使用的硬件、操作系統(tǒng)服務、并且最后、網(wǎng)絡(luò)負載平衡集合起來。對于數(shù)據(jù)和成員關(guān)系擁有一些隨時的備用,并將你的服務器組合以及使用多重LDAP服務器,這將使你擁有高的可用性。
當我們討論高可用性時,我們將最終以某個方式談到負載平衡。Microsoft Network load balancing現(xiàn)在允許我們對我們的系統(tǒng)進行負載平衡并許可我們所需要的可用性。
注意現(xiàn)在沒有關(guān)于價值的單獨的一點 。如果這些NOB主機失靈的話,我們將仍舊可以運行。沒有性能上的瓶頸而且在這一點中不需要附加的硬件。
它可以,然而,按照需求的增長而逐漸的增長。我們可以在一個特定地段中上升到32個窗口服務器,并且最終,如果我們的兩個服務器壞掉的話,我們能夠處理計劃的和未計劃的服務器在不能使用時的透明度。對于它的伸縮性計劃需要在我們的初始設(shè)計中。我們需要確定我們在其中有商業(yè)目標并且你可能記住當你在進行性能測試時,你需要檢查你的垂直截面的原型,這意味著你需要從前端到早先的后端創(chuàng)建一個原型,在你的產(chǎn)品中盡快進行,這樣你就可以向前并使用像web application 強度測試工具這樣的強調(diào)工具進行測試。
你一定要定義你所期望的用途方案,向前看強調(diào)系統(tǒng)并察看你所期望的模式、不同種類的典型用戶以及它們的用途模式。建立典型用戶所期望使用的腳本。在你的數(shù)據(jù)級上遮蔽用戶這樣你就可以證明你的判斷是正確的。從第二位到交叉檢驗來進行分析。
你要確定,在向前進行的時候,你實際上將你的系統(tǒng)設(shè)置為接受的內(nèi)容比你所最重要強調(diào)的內(nèi)容要多。這樣當你著手去強調(diào)你的網(wǎng)站時,你要重新用web application 強度測試工具去編排,這叫做Homer。你要設(shè)置斷點和行為。計劃你的伸縮路徑并記住計劃空出3到6個月的時間,這樣你可以設(shè)置任何未來的擴展。
確定性能測試是在小組里的分配任務,而不僅僅是某人在有機會的情況下隨便看一下。你如果能遵從以上這些要點你就不會遇到如此多的問題。
現(xiàn)在我們來到第一個演示,這是告訴我們怎樣使用web application 強度測試工具來為伸縮性、可用性和可靠性測試你的站點。好的,現(xiàn)在我們將移動到演示機器。在我們的第一個演示中,我們將學會怎樣使用
我們將第一次打開WAS,在開始菜單中、程序、Microsoft web application 強度測試工具。然后現(xiàn)在,我們在這里關(guān)閉創(chuàng)建新腳本的對話框。我們現(xiàn)在要做的第一件事情是在安裝WAL工具時必須移動創(chuàng)建好的sample文件夾。
當你安裝web application 強度測試工具時,你必須將其從一個文件夾中移出來,這個文件夾就是web application 強度測試工具被安裝入的文件夾,在WWw根目錄中。我們?yōu)g覽并拷貝然后移回到我的InetPub/wwwroot目錄,然后粘貼到虛擬的根目錄中。關(guān)閉窗口,現(xiàn)在我們回到web application 強度測試工具中。
我們現(xiàn)在看一下對于WAS工具的用戶界面,我們可以看一下系統(tǒng)。在左邊,你會注意到我們有一個默認的節(jié)點和一個示例的腳本節(jié)點,這將顯示我們當前已經(jīng)安裝入WAS數(shù)據(jù)庫中的所有腳本。這些是我們在以前建立的并將在以后用的腳本。我們今天為演示所用的是示例腳本。我們將重新創(chuàng)建示例腳本中的一些情形。
這些是腳本,再說一遍,在你安裝WAS工具的時候盡快地安裝。為示例腳本打開這個節(jié)點你可以看見下面的第二注釋。當你點擊示例腳本,你將注意到它在右邊打開了細節(jié)部分,這為我們顯示了在示例腳本自身中的特定的編排,由web application 強度測試工具使用的特定的特征。
這里的每一個腳本強調(diào)網(wǎng)站的一個特征,cookie特征、瀏覽器特征、ab測試、標識符特征,所有的這些被這個系統(tǒng)所強調(diào)。但是在我們開始以前,我們將為這個示例腳本做一個拷貝以使我們不會弄亂原始腳本。然后我們將重新命名測試腳本。那樣,我們就不會更改這些原始腳本。我建議向前作為一個實踐,這樣你總可以至少重新回到示例。大多數(shù)的示例腳本是可使用的基礎(chǔ)。
接著,我們將繼續(xù)向前,我們可以按需要進行更改,這里的服務器名稱是,在這種情況下我們進行強調(diào)時,我們將使用一個區(qū)域主機因為web application 強度測試工具現(xiàn)在位于相同的一個系統(tǒng)中。
現(xiàn)在,在現(xiàn)實世界中這不是一個好主意因為它可能帶給你一些不規(guī)范的閱讀。這可能在你向前的時候搞亂你的強調(diào)步驟。所以你只在用戶端得到。記住setup.exe必須在每個你要用來強調(diào)你的服務器的用戶中。但是,再說一次,不是在你的服務器中。
這7個腳本項中的每一個現(xiàn)在使用一個關(guān)于WAS的特定特征。例如,注意一個腳本項是post,這為我們顯示了特定的要被強調(diào)的post意我們有路徑,將要使用的http版本。我們有一個詢問字符串、post數(shù)據(jù),報頭、安全插口層信息和RDS信息。
在這個例子中,我們回到查詢字符串。注意,在這里,我們有一個用戶名稱部分和一個密鑰部分,以及在其兩側(cè)都有百分號的用戶名稱,這意味著它不是一個文字值。有一些特定的不同點讓WAS通過下一個可用的用戶以及下一個從這個清單中可用的密鑰。WAS自動進入通過清單的循環(huán)并將下一個信息由每一個郵寄所傳遞。這就是怎樣進入并強調(diào)它。
我們繼續(xù)并關(guān)閉這個腳本項。這里的最后兩個細節(jié)是在腳本項中的添加組和默認組。你將注意到我們在這里的默認組中的添加組。這些是頁面組。除非你更改,頁面組將按默認顯示。
頁面組用來重新組織腳本項的調(diào)用次序。它也可以用來更改當腳本運行時每個腳本項的調(diào)用數(shù)量。你可以通過選擇頁面組節(jié)點看見所有的頁面組的清單,并且這將為你顯示所有正在使用的頁面組;在這個例子中,只有默認和添加組。
這里最重要的事情是(聽起來像關(guān)鍵項)是哪些在整個頁面組中同時是可用的。我們可以向前并在我們將使用的強調(diào)中,我們不要用它們。
我們將做的是添加一些性能計數(shù)器,或在這里對于我們系統(tǒng)的性能計數(shù)器。我們將點擊添加計數(shù)器并且第一次調(diào)用它,系統(tǒng)將變得很慢因為它必須出去得到添加的計數(shù)器。
我們進入計數(shù)目標清單,那兒是我們的網(wǎng)絡(luò)服務。然后我們要添加每秒的請求。然后點擊add,現(xiàn)在去把它添加入清單。我們下來得到每妙的郵寄請求并將其添加到清單。然后我們將來到活動服務器頁面目標,這在清單的頂端,得到每秒的請求,并將其添加到清單中。那就是所有我們要添加的性能監(jiān)控計數(shù)器。然后我們點擊okey。
而且,在這個例子中,我們要更改搜集間隔。原來是15秒,我們將其變更到5秒以使我們的性能監(jiān)控器得到更多的信息。得到正確的性能監(jiān)控器是在測試模板時得到正確信息以進行分析的關(guān)鍵。
有幾個重要的性能監(jiān)控計數(shù)器可供選擇,基于哪一種應用是你要進行測試的。一系列最普遍的基于網(wǎng)絡(luò)的計數(shù)器和對其中每一個的解釋將被在這個特定對話的資源部分中被找到。
現(xiàn)在,我們將瀏覽并關(guān)閉它。我們要回到測試腳本和設(shè)置節(jié)點,F(xiàn)在在這個例子中,我們要更改我們的時間。默認是15而在這里我們是2。我們將其更改為1,這將我們的運行時間更改為1分鐘,這將運行地足夠快以使我們可以看見它。我們將現(xiàn)在離開所有的其他設(shè)置并繼續(xù)向前。
這個工具允許我們改變其他的設(shè)置,包括調(diào)整你的帶寬。如果你認為可以檢查你的系統(tǒng)以確定較窄的帶寬,例如14.4或者28.8,依舊可以命中你的網(wǎng)站并且不會帶來問題,你就可以向前并在這里調(diào)節(jié)。
另一個方法是將對這些設(shè)置的設(shè)定是設(shè)定默認的設(shè)置,這在默認部分設(shè)置的下面,F(xiàn)在你會注意到我們可以設(shè)定測試運行時間,調(diào)節(jié)帶寬,所有的這些。然后這將是在我們向前的默認設(shè)置。注意到很有趣的事是,這只選擇從現(xiàn)在開始創(chuàng)建的腳本,而不包括已經(jīng)被創(chuàng)建好的任何一個腳本。
在用戶節(jié)點中,再一次在我們的測試腳本的下面,你會注意到我們有一個默認部分。雙擊它以調(diào)出我們的細節(jié)部分,現(xiàn)在我們?yōu)g覽它,它為我們顯示所有的要經(jīng)過的用戶和他們的密鑰。我們可以在這里更改任何特征,并且這在應用與網(wǎng)絡(luò)中的網(wǎng)絡(luò)應用強調(diào)工具指南中被非常好的解釋了。
我們現(xiàn)在回到腳本并點擊這個腳本然后我們繼續(xù)向前運行這個腳本,現(xiàn)在我們已經(jīng)察看過了。一旦完成了一個腳本,我們將察看從中創(chuàng)建的報告。當這個腳本運行時,它所做的是通過所有的密鑰和我們在清單上看到的用戶而運行。它對于每個密鑰和用戶創(chuàng)建cookie。它對每一個密鑰和用戶進行郵寄。它進行瀏覽并對每個用戶進行瀏覽器調(diào)用;一個html測試;移動一個logo.jpeg以便可以實際地模擬,在這個網(wǎng)絡(luò)應用強調(diào)中,這些操作將發(fā)生在通常的環(huán)境中。
我們向前進行這個測試時,你將看見所有的這些已經(jīng)被校準過并且移動到一個生成的報告中。每一個你創(chuàng)建的腳本可以做相同的事情并且你可以得到示例腳本中的特定部分,并且按你的需求做出更改。而且再一次,你可以將它們作為模板使用。
一旦我們的測試狀態(tài)完成,這個報告也就完成了。現(xiàn)在我們所需要做的是察看輸出結(jié)果。于是進入view菜單并選擇報告。我們將看到,在這個測試腳本節(jié)點下面,是我們的報告而且這是我們今天運行的報告。點擊它給我們一個綜述。并且如果我們點擊這個報告下的綜述節(jié)點我們將看見同一個綜述。
在綜述節(jié)點中,這是一個好的對于強調(diào)的50,000英尺的綜述。你想要看見的一些事是命中的數(shù)量;報告名稱和數(shù)據(jù);然后運行及運行長度,以及那些事情。那些是你在進行時遇到的重要的事情。
我們可以看一下已經(jīng)安裝好的性能計數(shù)器。記住,我們在每一秒都有一個性能計數(shù)器去取得請求。它給出在百分之二十五,百分之七十五處的信息,告訴我們對于特定項已經(jīng)完成的不同信息。然后我們可以看一下頁面數(shù)據(jù)并且在頁面數(shù)據(jù)中,我們向下可以看見對于每一個特定腳本項的信息。在這個例子中,我們將看見cookie的例子以及這里的信息是第一個字節(jié)的時間,以毫秒計,它計算從對頁面的請求到WAS收到第一個字節(jié)的信息位置的時間,以毫秒計。這將基本地告訴你你的反應時間。
到最后一個字節(jié)的時間,從請求開始直到最后一個字節(jié)被用戶收到的時間,以毫秒計。這個數(shù)包括你的TTFB時間以及所有需要收到最后一位數(shù)據(jù)的附加時間。
然后所有的請求被分類然后被按百分比劃分,就像你們在這里看到的。這給你一個對于網(wǎng)頁應用強調(diào)工具(web application 強度測試工具)所能做的工作有一個好的印象。記住,你可以很簡單的創(chuàng)建你自己的網(wǎng)頁應用強調(diào)腳本,只要拷貝作為默認而創(chuàng)建的網(wǎng)頁應用腳本,并將它們更改或編碼,以從它們開始使用腳本。
在這個演示中,你將看見怎樣用網(wǎng)頁應用強調(diào)工具去模擬在系統(tǒng)上的服務器下載并且分析性能。現(xiàn)在我們回到我們的幻燈屏幕。
現(xiàn)在我們已經(jīng)完成了網(wǎng)頁應用強調(diào)工具的說明,接下來將討論性能測試。為了討論它,你要記住在至少一個星期的基礎(chǔ)上回顧你的用途報告。運行并用任何明顯的變更來調(diào)整腳本。如果你改變網(wǎng)站的組成,或網(wǎng)站的構(gòu)型或任何因素,繼續(xù)向前并用那些更改來調(diào)整你的腳本并檢查它們。顯然你需要在它達成目標前對它進行檢查。
向前測試你計劃好的可伸縮型路徑。記住網(wǎng)址的線要是強調(diào)、調(diào)整、測量、監(jiān)控并且,顯然,你可以按需要去更改。并且有一點要注意,記住這個操作的危險性等同于你可能遇到的任何問題的頻率。
現(xiàn)在我們要做的是向前并使用注冊和系統(tǒng)設(shè)置去實際地優(yōu)化你的網(wǎng)站。在這個例子中,我們要記住WIN 2000的計算機,無論作為一個網(wǎng)絡(luò)服務器或別的什么,將仍然是一個WIN 2000計算機。所以我們要討論我們可以通過更改注冊或系統(tǒng)設(shè)置來優(yōu)化網(wǎng)站。
現(xiàn)在我們移動到演示機器,在這個演示中,你將看見幾個不同的方法去對你的網(wǎng)站進行負載平衡和優(yōu)化,通過系統(tǒng)設(shè)置,注冊編輯器或其他的用于Windows 2000中的計算機管理的各種控制臺。
我們的第一個設(shè)置是對IIS的可用資源數(shù)量的控制,或?qū)nternet信息服務器的控制。因為IIS預計有較大的使用率,這對于大多數(shù)基準是非常普遍的,IIS將保留附加的資源,即使這些資源不在被使用中。
記住,這個設(shè)置只適用于大容量的網(wǎng)站。如果是一個小容量的網(wǎng)站,則要將它最小化。我們來到啟動菜單、程序、管理工具然后是計算機管理。我們打開計算機管理控制臺。
從那里,我們進入服務和應用,然后在這下面,我們有Internet信息服務(Internet Information Services)。然后我們有默認的網(wǎng)址或任何其他你要使用的特定網(wǎng)址。在這個例子中,我們使用默認網(wǎng)址。
我們右擊它并選擇properties。現(xiàn)在在properties中,我們向前來到performance標簽。在performance標簽中,我們將其設(shè)置為大于100,000。這適用于一個大的,高點擊量的的網(wǎng)址,它讓你的性能站點擁有其所需要的資源。并且請記住,如果你有的是一個較低性能的站點或一個中等容量的站點,你不需要將它設(shè)置的很高因為IIS實際上可以為你保留這些資源。
點擊okey并作出更改,F(xiàn)在,由于高容量站點通常建立在專職服務器上,對網(wǎng)絡(luò)服務器給出系統(tǒng)資源的最大量是非常重要的。所以我們的下一個設(shè)置是將對網(wǎng)絡(luò)服務器過程可用的CPU cycles的數(shù)量進行最大化。
我們進入控制面板的系統(tǒng)小程序,F(xiàn)在是高級標簽。然后是performance選項的performance按鈕。我們現(xiàn)在要確定我們的設(shè)置是對于背景資源的,這樣網(wǎng)絡(luò)服務器可以得到信息并且運行所需要的非管理型應用程序。
這是Windows 2000 Advanced Server的默認設(shè)置并且可以不需要改變。但在這個例子中,我們將對其檢查。這是需要檢查的地方。Internet信息服務器的一個最有用的特征是記錄各種關(guān)于你的用戶和他們在各自的網(wǎng)站中的動作的信息和數(shù)據(jù)。
不過,記住如果這些事是由另一臺服務器或另一個系統(tǒng)所完成,你不需要將其設(shè)置為打開。我們接下來要做的一件事是再一次右擊默認的網(wǎng)址,選擇屬性,在這個例子,我們將停用記錄因為這將由另一個軟件或另一個服務器完成,不需要在這個網(wǎng)址中完成。
|