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