對於整體效能,一般而言,最好是調整架構,而不只是新增個別硬體片段。 不論您在單一機器中新增多少硬體,這個硬體都會有其效能層次上限。
這一節討論在網路中引進 Caching Proxy 功能時,所要考量的網路架構問題。
如果您的企業網站普及程度很高,對其內容需求可能會大於單一 Proxy 伺服器所能有效滿足的範圍,造成回應時間變慢。 如果要將網路效能最佳化,請考慮併入叢集化的負載平衡 Caching Proxy 機器,或在您的整體網路架構中,搭配「遠端快取存取 (RCA)」來使用共用的快取架構。
其中一種調整架構的方法,是將 Proxy 伺服器叢集化,並利用 Load Balancer 元件來進行這些伺服器的負載平衡。 將 Proxy 伺服器叢集化是最有利的設計考量,不但是基於效能和可調整性,同時也基於備援和可靠性。 單一 Proxy 伺服器代表單一失敗點;如果因為網路失敗,造成它失敗或無法存取,使用者就無法存取您的網站。
另外,也請考量 RCA 的共用快取架構。 共用的快取架構會將總體虛擬快取分散於多部 Caching Proxy 伺服器,這些伺服器通常會使用「網際網路快取通訊協定 (ICP)」或「快取陣列路由通訊協定 (CARP)」等交互快取通訊協定。 RCA 的設計是為了提供大型虛擬快取,以便使叢集化快取命中率最大化。
相對於單一獨立式 Caching Proxy,或甚至是獨立式 Caching Proxy 的叢集,使用 Proxy 伺服器的 RCA 陣列會提升效能。 大致上來說,虛擬快取記憶體的大小總計增加,會將快取命中率最大化以及快取的不一致和延遲最小化,從而提升效能。 使用 RCA 時,特定文件在快取中只會有單一副本。 使用 Proxy 伺服器的叢集時,快取記憶體大小總計會增加,但多部 Proxy 伺服器有可能提取及快取相同的資訊。 因此,快取總命中率並不會增加。
RCA 常用於大型企業的內容管理實務中。 不過,RCA 的用處並不限於超大型企業部署。 如果您的網路負載需要快取伺服器的叢集,或如果大部分的要求都是快取命中,請考慮使用 RCA。 取決於您的網路設定而定,當配置 RCA 時,RCA 不一定會因為用戶端所用的 TCP 連線數目增加而改進企業效能。 這是因為 RCA 成員不只負責處理分數最高的 URL,而當該成員取得並非分數最高之 URL 的要求時,它也必須將要求轉遞給其他成員或叢集。 這表示任何給定的 RCA 陣列成員,如果是以獨立式伺服器方式運作,則開啟的 TCP 連線數目可能會超出其原有的數目。
改進效能的主要要素是來自於 Caching Proxy 的快取功能。 不過,如果未適當配置,Proxy 伺服器快取有可能成為瓶頸。 如果要判斷最佳快取配置,您必須致力於分析資料流量性質。 內容的類型、大小、數量和屬性,會在從原始伺服器擷取文件所花的時間及伺服器的負載等方面,影響 Proxy 伺服器的效能。 在瞭解 Caching Proxy 即將代理,或即將從其快取中提供之資料流量的類型之後,您就可以在配置 Proxy 伺服器時,將這些性質作為因素列入考量。 例如,已知快取之物件的 80% 是影像(*.gif 或 *.jpg),且大小約為 200 KB,當然有助於調整快取參數,以及判斷快取大小。 另外,瞭解大部分內容都是並非快取候選項的個人化動態頁面,也有助於調整 Caching Proxy。
分析資料流量性質,可協助您判斷使用記憶體或磁碟快取是否可將快取的效能最佳化。 另外,熟悉網路的資料流量性質,也可讓您得知使用 Caching Proxy 的動態快取特性是否能改進效能。
磁碟快取適用於需要快取大量資訊的網站。 比方說,如果網站內容龐大(大於 5 GB),且快取命中率是 80~90%,則建議採用磁碟快取。 不過,已知使用記憶體 (RAM) 快取的速度會比較快,且在許多情況下,大型網站較適用唯記憶體快取。 比方說,如果 Caching Proxy 的快取命中率不很重要,或正在使用共用快取配置,記憶體快取就具有實用價值。
Caching Proxy 可以快取 WebSphere® Application Server 動態快取所產生的動態內容(JSP 和 Servlet 結果)以及使這個內容失效,從而將虛擬的 Application Server 快取延伸提供到網路型快取中。 如果環境中的許多要求都是針對動態產生的公用網頁,且網頁是以應用程式邏輯或資料庫訊息之類的事件為到期根據,則啟用動態產生內容的快取會有助於提升網路效能。 頁面的生命期限有限,但建立頁面之時,並無法設定到期的觸發;因此,不含動態快取及失效特性的主機必須指定這些頁面的存活時間值為零。
如果在這類動態產生頁面的生命期限中,會有一或多位使用者重複要求這些頁面,則動態快取會提供有價值的卸載,並降低網路中內容主機的工作量。 由於減少遍訪網際網路的次數,從而消除網路的延遲、縮減頻寬的耗用,使用動態快取也會更快回應使用者,進而改進網路的效能。