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