整體而言,一個網(wǎng)站性能的表現(xiàn)如何,絕非是一個網(wǎng)站平臺類型就能決定,它牽連的層面相當(dāng)多,至少包括了以下幾個重點。
首當(dāng)其沖就是CPU的選擇,因為較慢的處理速度與核心數(shù)較少的規(guī)格,都會大幅降低密集Session處理時的效率,而較小的L2/L3緩存也會影響處理的性能。其他像是物理內(nèi)存的大小、網(wǎng)絡(luò)的帶寬、存儲磁盤的讀寫速度以及存儲界面卡的規(guī)格等等,也都是影響網(wǎng)站性能表現(xiàn)的重要因素。其中,內(nèi)存的多寡更是直接影響到平臺上網(wǎng)站的數(shù)量、應(yīng)用程序場的數(shù)量、任務(wù)處理程序的數(shù)量以及動態(tài)網(wǎng)頁內(nèi)容的存儲效率等等。
當(dāng)硬件各主要資源的使用率偏低,但網(wǎng)站的性能卻表現(xiàn)不佳時,就必須探究應(yīng)用程序本身程序碼的設(shè)計問題。但如果是硬件資源在少量的用戶連接訪問時就會往上飆升,便極有可能是前端應(yīng)用程序?qū)τ诤蠖藬?shù)據(jù)庫,在執(zhí)行查詢、添加、刪除以及更新數(shù)據(jù)的方式出了問題。以SQL Server來說一般來說,就是沒有善用預(yù)存程序(Stored Procedure),以致于造成前端網(wǎng)站的計算資源耗盡。
基本上我們都會將數(shù)據(jù)庫系統(tǒng)與網(wǎng)站應(yīng)用程序,分別在不同的物理主機或虛擬機來運行,這樣可以讓各類資源的使用完全獨立開來,不會發(fā)生像是在連接流量的高峰期間互搶CPU、磁盤及網(wǎng)絡(luò)I/O資源的情況。另一方面也有助于將來拓?fù)浼軜?gòu)的擴展更加容易。除此之外,數(shù)據(jù)庫本身的結(jié)構(gòu)設(shè)計也是極為重要的一個環(huán)節(jié)。
將不同應(yīng)用需要或是不同重要級別的數(shù)據(jù),分散存放在不同性能的存儲設(shè)備之中,是非常重要的基礎(chǔ)規(guī)劃。尤其是對于支持多數(shù)據(jù)庫分散存儲的應(yīng)用系統(tǒng),像是Microsoft的Exchange Server以及IBM的Domino Server,您必須將一些關(guān)鍵的人員郵箱以及應(yīng)用程序數(shù)據(jù)庫存放在像是RAID 0+1的HDD磁盤數(shù)組或是SSD的磁盤中。
一般我們對于網(wǎng)站應(yīng)用系統(tǒng)的拓?fù)浼軜?gòu)設(shè)計,就是采用前后端各一部主機的方式來完成。但在面對大流量的使用環(huán)境中,您可能得要進(jìn)一步將它拓展成前后端皆有負(fù)載平衡的多主機分散架構(gòu),或是將占用較多計算資源的服務(wù)器角色獨立出來,常見的便是擔(dān)任索引目錄以及搜索的應(yīng)用服務(wù)。
接下來就讓我們一同來學(xué)習(xí)如何在Windows Server 2012 R2的IIS網(wǎng)站應(yīng)用程序平臺上,通過內(nèi)置的監(jiān)視工具以及服務(wù)本身的功能,為您企業(yè)的網(wǎng)站應(yīng)用程序運行性能打好基礎(chǔ)。