胡霖
摘要:Web服務器一般指的是網站服務器,是指駐留在因特網上某種類型計算機的程序,可以向瀏覽器等Web客戶端提供文檔,也可以放置網站文件。目前最主流的3個Web服務器是Nginx,Apache,IIs。隨著科學技術的快速發展,人們能夠利用網絡快速獲取信息,在網絡上進行溝通,為了能夠更好地為用戶提供網絡服務,提高網絡系統的響應速度,減少網絡中大量的冗余數據,文章對基于節點緩存的Web服務器性能優化進行了研究。
關鍵詞:節點緩存;Web服務器;性能優化
Web服務器作為一種被動的程序,只有當Internet上運行其他計算機中的瀏覽器發出的請求時,服務器才會響應。現在比較常用的Web服務器有Apache和Microsoft的Internet信息服務器。Web服務器不僅可以存儲信息,也能夠將用戶通過Web瀏覽器提供的信息作為基礎運行腳本與程序。目前,網絡用戶數量增長迅速,人們對知識和信息的需求成為了社會的主要需求,然而網絡的擁塞以及服務的超載等問題已經成為Web服務器發展中需要正視并解決的重要問題。
1 Web服務器概述
Web服務器是指駐留于因特網上某種類型計算機的程序,當Web瀏覽器連接到服務器上并請求文件時,服務器會處理該請求并將文件反饋到該瀏覽器上,附帶的信息則會由高速瀏覽器查看該文件,在這一過程中,服務器使用HTTP與客戶機瀏覽器進行信息交流。
Web服務器能夠快速處理HTTP請求,當Web服務器接收到一個HTTP請求時,會返回一個HTTP響應,并且為了能夠處理一個請求,Web服務器可以響應出一個圖片或者是一個靜態的頁面,完成頁面的跳轉,也可以將動態響應委托給一些其他程序的ASP,JSP等腳本。架設Web服務器的常見操作系統有windows,Linux和unix。其中,LinHX的安全性能最高,并且可以支持多個硬件平臺,具有強大的網絡功能,是架設Web服務器較好的操作系統。
Web服務器主要的工作步驟有連接過程、請求過程、應答過程、關閉連接。其中的連接過程是將Web服務器和其他瀏覽器之間建立起來一種連接,如果要確定連接過程是否已經完成,可以找到并打開socket虛擬文件,socket文件的建立表明連接過程已經完成;請求過程是Web的瀏覽器通過soeket文件向其服務器提出各種要求的過程;應答過程就是通過HTTP協議把請求過程中所提出的請求傳輸到Web服務器,完成任務的處理后,再利用HTTP協議將任務處理的結構傳輸到Web的瀏覽器并展示出請求的界面;關閉連接是在應答過程完成后,Web服務器和其他瀏覽器之間斷開連接的過程。
2 Web服務器性能優化的意義
伴隨網絡技術的發展,人們逐漸轉變了傳統的信息獲取方式,不再滿足于從電視、報紙、廣播中獲取單方面的信息,希望能夠通過自己的主觀意識獲取知識。而網絡能夠向人們提供各種類型的信息,使人們能夠及時、快捷地獲取到最新的信息,滿足了人們對信息獲取的需要。由于網絡用戶和網絡信息量的不斷增加,使得網絡服務器經常超載,網絡出現擁塞,因此必須加強對基于節點緩存的Web服務器性能的優化,使Web服務器能夠具有較高的實時性,減少Web服務器的響應時間,增加Web服務器的吞吐量,從而更好地提高Web服務器的性能,滿足用戶越來越高的網絡需求。
3 Web服務器性能優化的方式
3.1 Web服務器性能分析
Web服務器的性能主要是指一個Web服務器響應用戶請求的能力,如何提高Web服務器的性能在Web系統開發中是非常重要的問題。Web服務器的硬件配置和軟件配置都會影響Web服務器的性能,其中Web服務器硬件包含了Web服務器的內存、網絡適配器等,將Web服務器的硬件配置進行適當的調整,會改變Web服務器的整個系統性能。而Web服務器軟件主要是指用于Web服務器上的各種程序,包含了服務器應用程序、Web服務器操作系統等。在不改變Web服務器的硬件配置的情況下,對Web服務器的軟件配置參數進行調整也可以改變Web服務器的系統性。目前常見的Web服務器性能指標有并發用戶數、并發連接數、事務處理次數、連接速率、服務器響應時間、頁面響應時間等。
3.2 Web服務器性能優化的方式
基于節點緩存的Web服務器性能優化,可以建立多層緩存結構網絡服務器模型進行系統化的分析。筆者就幾個常用的Web服務器性能優化方式進行簡要的分析。
3.2.1 優化數據服務層
由于在服務器端會存在大量的服務器要訪問數據庫,雖然可以在整個網絡的服務器結構中增加服務器的數量,但是因為數據庫的連接資源是有限的,并且即使在訪問數據庫時馬上開關服務器,或者數據庫與服務器之間一直保持連接狀態沒有操作,都會造成大量的數據庫連接資源浪費,所以不可以讓服務器直接訪問數據庫。通過詳細的分析后,對Web服務器性能優化的較好方式是優化數據服務層,在數據服務層中增加節點緩存,通過對操作過的數據結果進行節點緩存后并作上標記,使今后的相同數據查詢可以直接從節點緩存中獲得,這樣不僅能夠有效提高數據處理的效率,同時也減少了數據庫運行的壓力。
3.2.2 優化均衡調度層
目前網絡通信數據種類繁多,而不同數據處理的方式和要求以及服務器處理的邏輯都各不相同,使得負載均衡策略中的散列法、加權輪轉法、最少連接法等計算方式存在著不精準性。利用以內容識別為基礎的負載均衡算法能夠有效提高用戶數據處理的效率,優化Web服務器的性能,但是這種方式不能確保對同一用戶的數據進行串行處理并且非常浪費硬件資源,因此可以選擇以用戶請求類型為多參數基礎的負載均衡調度算法,結合用戶請求數據類型的實際情況進行數據的處理,通過對邏輯處理服務器相關數據的分析,采用相應的節點緩存方式,從而更好地對用戶數據進行串行處理并降低硬件資源的浪費。
3.2.3 優化使用網絡寬帶
在優化使用網絡寬帶時應盡可能地減少協議包頭的開銷,同時需要綜合有效數據占總傳輸數據的比例,但是網絡寬帶的利用率一般較低,并且為了更好地實現數據的時效性,數據通常還沒有到達閥值就會被發送,因此可以利用節點緩存延時的方式優化使用網絡寬帶,對于非實時的數據可以保證在一定的范圍內將累積到一定程度的數據發送,從而提高網絡寬帶的使用率并且降低協議包頭的開銷。
3.2.4 處理服務器超載現象
基于節點緩存對于Web服務器進行優化時,需要根據Web應用系統的實際情況和特點選擇適當的優化方案,可以在局域網中降低最大傳輸單位值,避免復制數據和求校驗,利用不斷優化select系統的調用或者是在對Socket事件處理器中執行計算優化請求并發管理。例如:在廣域網中采用軟硬中斷的方式對網絡進行處理,通過適當的中斷處理方式可以提高Web服務器的響應能力,將Web服務器定位于內核并將基于進程的設計調整為基于事務的處理,有利于提高Web服務器的性能。
若Web服務器長時間處于超載的狀態,會極大地影響Web服務器的性能,使其無法保證較高的吞吐量。對于這種情況,可以詳細分析服務器處理信息包的過程,解決高優先級處理階段對CPU的不公平搶占等問題。在操作中可以使用幾種方式:第一,對于高負荷情況可以采用降低中斷頻率的方式,一般可以選擇暫時關閉中斷或者批中斷的方式,其中暫時關閉中斷可以有效地降低Web服務器系統的負擔,但是會在緩存接收的數據不夠大的情況下出現數據包的丟失。第二,可以采用減少上下文的切換方式,這種方式可以引入核心級或者硬件級數據流,使得服務器處于任何情況下都能夠改善其性能。第三,為了減少由于中斷問題對Web服務器系統造成的性能影響,可以使用采用輪詢機制,這種方式比中斷驅動技術更有效,但是在負載正常情況下可能導致資源的浪費和Web服務器響應速度降低。
4 結語
Web服務器是指駐留于因特網上某種類型計算機的程序,當Web瀏覽器連接到服務器上并請求文件時,服務器會處理該請求并將文件反饋到該瀏覽器上,附帶的信息則會由高速瀏覽器查看該文件。基于節點緩存的Web服務器性能優化可以通過優化數據服務層的方式,在數據服務層中增加節點緩存,提高數據處理的效率,降低數據庫運行的壓力。通過優化均衡調度層的方式,結合用戶請求數據類型的實際情況進行數據的處理,從而更好地實現對用戶數據進行串行的處理,降低硬件資源的浪費。還可以利用優化使用網絡寬帶的方式,更好地實現數據的時效性。通過不斷地對Web服務器性能的優化,能夠有效地提高Web服務器的響應速度,增加Web服務器的吞吐量,滿足用戶對Web服務器使用的需求。