當前位置:首頁 » 網頁前端 » 如何保證web應用的可訪問性
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何保證web應用的可訪問性

發布時間: 2022-10-14 20:02:31

Ⅰ 如何保障Web伺服器安全

今天壹基比小喻給大家講解一些對伺服器的安全保護的具體措施,希望大家可以用到。
1從基礎做起,做好基礎防護。
首先將伺服器上所有包含了敏感數據的磁碟分區都轉換成NTFS格式的。其次不論是Windows還是Linux,任何操作系統都有漏洞,及時的打上補丁避免漏洞被蓄意***利用,是伺服器安全最重要的保證之一。再次將所有的反病毒軟體及時更新,同時在伺服器和桌面終端上運行反病毒軟體。這些軟體還應該配置成每天自動下載最新的病毒資料庫文件。可以為Exchange Server安裝反病毒軟體。這個軟體掃描所有流人的電子郵件,尋找被感染了的附件,當它發現有病毒時,會自動將這個被感染的郵件在到達用戶以前隔離起來。

2 設置防火牆並關閉不需要的服務和埠。

防火牆是網路安全的一個重要組成部分,通過過濾不安全的服務而降低風險。防火牆同時可以保護網路免受基於路由的***,如IP選項中的源路由***和ICMP重定向中的重定向路徑

首先,確保防火牆不會向外界開放超過必要的任何IP地址。至少要讓一個IP地址對外被使用來進行所有的互聯網通訊。如果還有DNS注冊的Web伺服器或是電子郵件伺服器,它們的IP地址也許需要通過防火牆對外界可見。其次,伺服器操作系統在安裝時,會啟動一些不需要的服務,這樣不僅會佔用系統的資源,還會增加系統的安全隱患。對於一段時間內完全不會用到的服務,可以完全關閉;對於期間要使用的伺服器,也應該關閉不需要的服務,如Telnet等。另外,還要關掉沒有必要開的TCP埠。例如,TCP/IP埠80用於HTTP通訊,因此大多數人可能並不想堵掉這個埠。但是,一般不會用埠81,因此它應該被關掉。我們可以在Intemet上找到每個埠使用用途的歹U表。對照列表我們可以很清楚的關閉一些不常用的埠。

3 SQL SERVER的安全防護。

首先要使用Windows身份驗證模式,在任何可能的時候,都應該對指向SQL Server的連接要求Windows身份驗證模式。它通過限制對Microsoft Windows用戶和域用戶帳戶的連接,保護SQL Server免受大部分Intemet工具的侵害,而且,伺服器也將從Windows安全增強機制中獲益,例如更強的身份驗證協議以及強制的密碼復雜眭和過期時間。另外,憑證委派在多台伺服器間橋接憑證的能力地只能在Windows身份驗證模式中使用。在客戶端,Windows身份驗證模式不再需要存儲密碼。存儲密碼是使用標准SQL Server登錄的應用程序的主要漏洞之一。其次分配—個強健的sa密碼,sa帳戶應該擁有一個強健的密碼,即使在配置為要求Windows身份驗證的伺服器上也該如此。這將保證在以後伺服器被重新配置為混合模式身份驗證時,不會出現空白或脆弱的sa。

4 做好數據的備份並保護好備份磁帶。

首先定期對伺服器進行備份,為防止未知的系統故障或用戶不小心的非法操作,必須對系統進行安全備份。除了對全系統進行每月一次的備份外,還應對修改過的數據進行及時的備份。同時,應該將修改過的重要系統文件存放在不同伺服器上,以便出現系統崩潰時(通常是硬碟出錯),可以及時地將系統恢復到正常狀態。通常情況下,備份工作都是在大約晚上10:00或者更晚開始的,而結束時間也在午夜時分。整個備份過程的時間長短主要取決於要備份數據的多少。但是如果深夜有人偷竊備份好的磁帶,這樣的時間將是最好的時機。為了避免這樣的人為事件,我們可以通過對磁帶進行密碼保護,對備份程序進行加密,從而加密這些數據。其次,可以將備份程序完成的時間定在第二日的上班時間內。這樣一來,可以避免人為盜竊備份磁帶所帶來的損失。因為磁帶在備份沒有結束被強行帶走的話,磁帶上的數據也毫無價值。

數據如此重要,做好安全措施是必不可少的。無論是伺服器還是系統,文件還是資料庫,都應該做好數據保護。數據備份方面小編推薦大家使用多備份。多備份有3種備份模式給大家選擇:託管、插件、客戶端。Linux,unix,windows系統的用戶可以選擇多備份客戶端來備份,客戶端是高級備份模式,支持防火牆內的備份,TB級數據備份,指定文件恢復等數十種高級功能。而文件和資料庫的內容可以選擇託管或是插件來備份,操作過程也是簡單易懂。備份時間及頻率方面更是讓用戶覺得貼心不過了。

如果你對數據視為寶物,就用多備份吧!

Ⅱ Web瀏覽器存在哪些安全隱患如何保證Web瀏覽器的安全

1、IE的自動登錄

撥號上網用戶使用IE時,連接對話框有個「保存密碼」選項,在Web頁面直接登錄郵箱時也有「保存密碼」選項。看「*」號工具軟體可以輕易將密碼翻譯出來。建議你盡量不要使用該選項。

2、IE的顏色足跡

IE以及Web頁面設計者一般都將頁面上未訪問的和已訪問過的鏈接設置成不同的顏色,雖說方便了用戶瀏覽,但不經意間會泄露了你的瀏覽足跡。在IE的菜單欄點擊[工具]→[Internet選項]→[常規]→[輔助功能],在隨後的對話框內勾選格式區域的「不使用Web頁中指定的顏色」項,確定之後,點擊[顏色]按鈕,在「顏色」區域勾選「使用Windows顏色」,在「鏈接」區域通過色板將未訪問的和訪問過的鏈接的顏色設置成相同,別人就看不到你的瀏覽足跡了。

3、IE的Cookie

Cookie,我們已經介紹過多次了,它可不僅僅是小甜餅哦!可以通過設置不同的安全級別來限制Cookie的使用。如果要徹底刪除Cookie,可將目錄「Windowscookies」下的所有文件全部刪除,這樣就可有效保護你的個人隱私了。當然使用個人防火牆也可以對Cookie的允許、提示、禁止等功能的進行使用限制。

4、IE的自動完成

IE的自動完成功能給用戶填寫表單和輸入Web地址帶來一定的便利,但同時也給用戶帶來了潛在的危險,尤其是對於在網吧或公共場所上網的網民。若需禁止該功能,只需點擊[工具] →[Internet選項]→[內容],在「個人信息」區域單擊[自動完成]按鈕,在隨後的對話框內清除Web地址、表單及表單的用戶名和密碼項的選擇。

5、IE的歷史記錄以及臨時文件夾

我們在上網瀏覽信息時,瀏覽器會把我們在上網過程中瀏覽的信息保存在歷史記錄以及臨時文件夾(WindowsTemporary Internet Files)中,這樣下次再訪問同樣信息時可以很快地達到目的地,從而提高了我們的瀏覽效率,但是通過IE的離線瀏覽,其他用戶能夠輕松地翻閱你瀏覽的內容。如何保護個人信息資料的安全呢?方法如下:點擊[工具]→[Internet選項]→[常規]→[刪除文件],在「刪除文件」對話框中勾選「刪除所有離線內容」,[確定]即可。另外,也可以設置成自動刪除臨時文件,切換至「高級」選項卡,在安全區域勾選「關閉瀏覽器時清空Internet臨時文件夾」。這樣在關閉IE時就會自動刪除臨時文件夾中的內容了;然後在同樣的對話框中單擊[清除歷史記錄]按鈕來刪除瀏覽器中的歷史記錄中的內容。

6、屏蔽ActiveX控制項

由於ActiveX控制項可以被嵌入到HTML頁面中,並下載到瀏覽器端執行,因此會給瀏覽器端造成一定程度的安全威脅。同時,其他一些技術,如內嵌於IE的VB Script語言,還有一些新技術,如ASP(Active server Pages)技術同樣也都存在著一定的安全隱患。所以我們要屏蔽掉這些可能對計算機安全構成威脅的ActiveX控制項,方法如下:點擊[工具]→[Internet選項]→[安全]→ [自定義級別],在打開的「安全設置」對話框中找到關於ActiveX控制項的設置,就選擇「禁用」好了。

7、IE的安全區域設置

IE的安全區設置可以讓你對被訪問的網站設置信任程度。我們在上網瀏覽信息時,應經常通過一些報刊雜志來搜集一些黑客站點或其他一些破壞站點的相關信息,並時時注意哪些站點會惡意竊取別人的個人信息,通過一些相關設置來拒絕這些站點對你的信息的訪問,從而使瀏覽器能夠自動拒絕這些網站發出的某些對自己有安全威脅的指令。方法是:點擊[工具]→[Internet選項]→[安全],單擊「受限站點」右邊的[站點]按鈕,將需要限制的站點的地址添加進去,完成站點地址的添加工作以後,單擊[確定]按鈕,瀏覽器將對上述的受限站點起作用。
轉自電腦之家網

Ⅲ 如何提升前端頁面的可用性,訪問性

維護性一般包含兩個層次,一是當系統出現問題時,快速定位並解決問題的成本,成本低則可維護性好。二是代碼是否容易被人理解,是否容易修改和增強功能。可維護性和可復用性、可擴展性等有交叉的地方。構建可維護性好的代碼,對企業的長期發展非常重要。

可訪問性是:Web內容對於殘障用戶的可閱讀和可理解性。同時指南里還特別指明:提高可訪問性也能讓普通用戶更容易理解Web內容。具體而言,要考慮以下兩方面:

無論用戶是否殘障,都得通過用戶代理(User Agent)來訪問Web內容。因此要提高可訪問性,首先得考慮各種用戶代理 :桌面瀏覽器、語音瀏覽器、行動電話、車載個人電腦等等。還得考慮用戶訪問Web內容時的環境限制 。比如:我們真的要考慮瀏覽器禁用JavaScript/CSS的情形嗎?我的理解是,要考慮的其實不是禁用了JavaScript/CSS的瀏覽器,而是那些對JavaScript/CSS不支持或支持不好的用戶代理。比如語音閱讀器,手機瀏覽器等,JavaScript提供的是一層可訪問性,不能代替內容本身。當然,從漸進增強的角度講,鼓勵使用高級特性,只是同時要做到優雅降級,讓低端用戶代理上,也能保留低保真的體驗。

Ⅳ WEB測試應該注意哪些地方,怎樣才能做好WEB

基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。

隨著Internet和Intranet/Extranet的快速增長,Web已經對商業、工業、銀行、財政、教育、政府和娛樂及我們的工作和生活產生了深遠的影響。許多傳統的信息和資料庫系統正在被移植到互聯網上,電子商務迅速增長,早已超過了國界。范圍廣泛的、復雜的分布式應用正在Web環境中出現。Web的流行和無所不在,是因為它能提供支持所有類型內容連接的信息發布,容易為最終用戶存取。

Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作為一門新興的學科,提倡使用一個過程和系統的方法來開發高質量的基於Web的系統。它"使用合理的、科學的工程和管理原則,用嚴密的和系統的方法來開發、發布和維護基於Web的系統"。目前,對於web工程的研究主要是在國外開展的,國內還剛剛起步。

在基於Web的系統開發中,如果缺乏嚴格的過程,我們在開發、發布、實施和維護Web的過程中,可能就會碰到一些嚴重的問題,失敗的可能性很大。而且,隨著基於Web的系統變得越來越復雜,一個項目的失敗將可能導致很多問題。當這種情況發生時,我們對Web和Internet的信心可能會無法挽救地動搖,從而引起Web危機。並且,Web危機可能會比軟體開發人員所面對的軟體危機更加嚴重、更加廣泛。

在Web工程過程中,基於Web系統的測試、確認和驗收是一項重要而富有挑戰性的工作。基於Web的系統測試與傳統的軟體測試不同,它不但需要檢查和驗證是否按照設計的要求運行,而且還要測試系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。然而,Internet和Web媒體的不可預見性使測試基於Web的系統變得困難。因此,我們必須為測試和評估復雜的基於Web的系統研究新的方法和技術。

一般軟體的發布周期以月或以年計算,而Web應用的發布周期以天計算甚至以小時計算。Web測試人員必須處理更短的發布周期,測試人員和測試管理人員面臨著從測試傳統的C/S結構和框架環境到測試快速改變的Web應用系統的轉變。
一、功能測試
1、鏈接測試
鏈接是Web應用系統的一個主要特徵,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面。首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在;最後,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。鏈接測試可以自動進行,現在已經有許多工具可以採用。鏈接測試必須在集成測試階段完成,也就是說,在整個Web應用系統的所有頁面開發完成之後進行鏈接測試。

2、表單測試
當用戶給Web應用系統管理員提交信息時,就需要使用表單操作,例如用戶注冊、登陸、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交給伺服器的信息的正確性。例如:用戶填寫的出生日期與職業是否恰當,填寫的所屬省份與所在城市是否匹配等。如果使用了默認值,還要檢驗默認值的正確性。如果表單只能接受指定的某些值,則也要進行測試。例如:只能接受某些字元,測試時可以跳過這些字元,看系統是否會報錯。

3、Cookies測試
Cookies通常用來存儲用戶信息和用戶在某應用系統的操作,當一個用戶使用Cookies訪問了某一個應用系統時,Web伺服器將發送關於用戶的信息,把該信息以Cookies的形式存儲在客戶端計算機上,這可用來創建動態和自定義頁面或者存儲登陸等信息。如果Web應用系統使用了Cookies,就必須檢查Cookies是否能正常工作。測試的內容可包括Cookies是否起作用,是否按預定的時間進行保存,刷新對Cookies有什麼影響等。

4、設計語言測試
Web設計語言版本的差異可以引起客戶端或伺服器端嚴重的問題,例如使用哪種版本的HTML等。當在分布式環境中開發時,開發人員都不在一起,這個問題就顯得尤為重要。除了HTML的版本問題外,不同的腳本語言,例如Java、javascript、 ActiveX、VBScript或Perl等也要進行驗證。

5、資料庫測試
在Web應用技術中,資料庫起著重要的作用,資料庫為Web應用系統的管理、運行、查詢和實現用戶對數據存儲的請求等提供空間。在Web應用中,最常用的資料庫類型是關系型資料庫,可以使用SQL對信息進行處理。在使用了資料庫的Web應用系統中,一般情況下,可能發生兩種錯誤,分別是數據一致性錯誤和輸出錯誤。數據一致性錯誤主要是由於用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由於網路速度或程序設計問題等引起的,針對這兩種情況,可分別進行測試。

二、性能測試
1、連接速度測試
用戶連接到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥號,或是寬頻上網。當下載一個程序時,用戶可以等較長的時間,但如果僅僅訪問一個頁面就不會這樣。如果Web系統響應時間太長(例如超過5秒鍾),用戶就會因沒有耐心等待而離開。另外,有些頁面有超時的限制,如果響應速度太慢,用戶可能還沒來得及瀏覽內容,就需要重新登陸了。而且,連接速度太慢,還可能引起數據丟失,使用戶得不到真實的頁面。

2、負載測試
負載測試是為了測量Web系統在某一負載級別上的性能,以保證Web系統在需求范圍內能正常工作。負載級別可以是某個時刻同時訪問Web系統的用戶數量,也可以是在線數據處理的數量。例如:Web應用系統能允許多少個用戶同時在線?如果超過了這個數量,會出現什麼現象?Web應用系統能否處理大量用戶對同一個頁面的請求?

3、壓力測試
負載測試應該安排在Web系統發布以後,在實際的網路環境中進行測試。因為一個企業內部員工,特別是項目組人員總是有限的,而一個Web系統能同時處理的請求數量將遠遠超出這個限度,所以,只有放在Internet上,接受負載測試,其結果才是正確可信的。進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰。黑客常常提供錯誤的數據負載,直到Web應用系統崩潰,接著當系統重新啟動時獲得存取權。壓力測試的區域包括表單、登陸和其他信息傳輸頁面等。
三、可用性測試
1、導航測試
導航描述了用戶在一個頁面內操作的方式,在不同的用戶介面控制之間,例如按鈕、對話框、列表和窗口等;或在不同的連接頁面之間。通過考慮下列問題,可以決定一個Web應用系統是否易於導航:導航是否直觀?Web系統的主要部分是否可通過主頁存取?Web系統是否需要站點地圖、搜索引擎或其他的導航幫助?

在一個頁面上放太多的信息往往起到與預期相反的效果。Web應用系統的用戶趨向於目的驅動,很快地掃描一個Web應用系統,看是否有滿足自己需要的信息,如果沒有,就會很快地離開。很少有用戶願意花時間去熟悉Web應用系統的結構,因此,Web應用系統導航幫助要盡可能地准確。導航的另一個重要方面是Web應用系統的頁面結構、導航、菜單、連接的風格是否一致。確保用戶憑直覺就知道Web應用系統裡面是否還有內容,內容在什麼地方。Web應用系統的層次一旦決定,就要著手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。

2、圖形測試
在Web應用系統中,適當的圖片和動畫既能起到廣告宣傳的作用,又能起到美化頁面的功能。一個Web應用系統的圖形可以包括圖片、動畫、邊框、顏色、字體、背景、按鈕等。圖形測試的內容有:
(1)要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一起,以免浪費傳輸時間。Web應用系統的圖片尺寸要盡量地小,並且要能清楚地說明某件事情,一般都鏈接到某個具體的頁面。
(2)驗證所有頁面字體的風格是否一致。
(3)背景顏色應該與字體顏色和前景顏色相搭配。
(4)圖片的大小和質量也是一個很重要的因素,一般採用JPG或GIF壓縮。

3、內容測試
內容測試用來檢驗Web應用系統提供信息的正確性、准確性和相關性。信息的正確性是指信息是可靠的還是誤傳的。例如,在商品價格列表中,錯誤的價格可能引起財政問題甚至導致法律糾紛;信息的准確性是指是否有語法或拼寫錯誤。這種測試通常使用一些文字處理軟體來進行,例如使用Microsoft Word的"拼音與語法檢查"功能;信息的相關性是指是否在當前頁面可以找到與當前瀏覽信息相關的信息列表或入口,也就是一般Web站點中的所謂"相關文章列表"。

4、整體界面測試
整體界面是指整個Web應用系統的頁面結構設計,是給用戶的一個整體感。例如:當用戶瀏覽Web應用系統時是否感到舒適,是否憑直覺就知道要找的信息在什麼地方?整個Web應用系統的設計風格是否一致?對整體界面的測試過程,其實是一個對最終用戶進行調查的過程。一般Web應用系統採取在主頁上做一個調查問卷的形式,來得到最終用戶的反饋信息。對所有的可用性測試來說,都需要有外部人員(與Web應用系統開發沒有聯系或聯系很少的人員)的參與,最好是最終用戶的參與。

四、客戶端兼容性測試
1、平台測試
市場上有很多不同的操作系統類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統,取決於用戶系統的配置。這樣,就可能會發生兼容性問題,同一個應用可能在某些操作系統下能正常運行,但在另外的操作系統下可能會運行失敗。因此,在Web系統發布之前,需要在各種操作系統下對Web系統進行兼容性測試。

2、瀏覽器測試
瀏覽器是Web客戶端最核心的構件,來自不同廠商的瀏覽器對Java,、javascript、 ActiveX、 plug-ins或不同的HTML規格有不同的支持。例如,ActiveX是Microsoft的產品,是為Internet Explorer而設計的,javascript是Netscape的產品,Java是Sun的產品等等。另外,框架和層次結構風格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對安全性和Java的設置也不一樣。測試瀏覽器兼容性的一個方法是創建一個兼容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構件和設置的適應性。

五、安全性測試
Web應用系統的安全性測試區域主要有:
(1)現在的Web應用系統基本採用先注冊,後登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。
(2)Web應用系統是否有超時的限制,也就是說,用戶登陸後在一定時間內(例如15分鍾)沒有點擊任何頁面,是否需要重新登陸才能正常使用。
(3)為了保證Web應用系統的安全性,日誌文件是至關重要的。需要測試相關信息是否寫進了日誌文件、是否可追蹤。
(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。
(5)伺服器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯腳本的問題。

六、總結
本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。

Ⅳ WEB應用及資料庫安全關鍵技術有哪些

一.虛擬網技術虛擬網技術主要基於近年發展的區域網交換技術(ATM和乙太網交換)。交換技術將傳統的基於廣播的區域網技術發展為面向連接的技術。因此,網管系統有能力限制區域網通訊的范圍而無需通過開銷很大的路由器。由以上運行機制帶來的網路安全的好處是顯而易見的:信息只到達應該到達的地點。因此、防止了大部分基於網路監聽的入侵手段。通過虛擬網設置的訪問控制,使在虛擬網外的網路節點不能直接訪問虛擬網內節點。但是,虛擬網技術也帶來了新的安全問題:執行虛擬網交換的設備越來越復雜,從而成為被攻擊的對象。基於網路廣播原理的入侵監控技術在高速交換網路內需要特殊的設置。基於MAC的VLAN不能防止MAC欺騙攻擊。乙太網從本質上基於廣播機制,但應用了交換器和VLAN技術後,實際上轉變為點到點通訊,除非設置了監聽口,信息交換也不會存在監聽和插入(改變)問題。但是,採用基於MAC的VLAN劃分將面臨假冒MAC地址的攻擊。因此,VLAN的劃分最好基於交換機埠。但這要求整個網路桌面使用交換埠或每個交換埠所在的網段機器均屬於相同的VLAN。網路層通訊可以跨越路由器,因此攻擊可以從遠方發起。IP協議族各廠家實現的不完善,因此,在網路層發現的安全漏洞相對更多,如IP sweep, teardrop, sync-flood, IP spoofing攻擊等。二.防火牆枝術網路防火牆技術是一種用來加強網路之間訪問控制,防止外部網路用戶以非法手段通過外部網路進入內部網路,訪問內部網路資源,保護內部網路操作環境的特殊網路互聯設備.它對兩個或多個網路之間傳輸的數據包如鏈接方式按照一定的安全策略來實施檢查,以決定網路之間的通信是否被允許,並監視網路運行狀態.防火牆產品主要有堡壘主機,包過濾路由器,應用層網關(代理伺服器)以及電路層網關,屏蔽主機防火牆,雙宿主機等類型.雖然防火牆是保護網路免遭黑客襲擊的有效手段,但也有明顯不足:無法防範通過防火牆以外的其它途徑的攻擊,不能防止來自內部變節者和不經心的用戶們帶來的威脅,也不能完全防止傳送已感染病毒的軟體或文件,以及無法防範數據驅動型的攻擊.自從1986年美國Digital公司在Internet上安裝了全球第一個商用防火牆系統,提出了防火牆概念後,防火牆技術得到了飛速的發展.國內外已有數十家公司推出了功能各不相同的防火牆產品系列.防火牆處於5層網路安全體系中的最底層,屬於網路層安全技術范疇.在這一層上,企業對安全系統提出的問題是:所有的IP是否都能訪問到企業的內部網路系統如果答案是"是",則說明企業內部網還沒有在網路層採取相應的防範措施.作為內部網路與外部公共網路之間的第一道屏障,防火牆是最先受到人們重視的網路安全產品之一.雖然從理論上看,防火牆處於網路安全的最底層,負責網路間的安全認證與傳輸,但隨著網路安全技術的整體發展和網路應用的不斷變化,現代防火牆技術已經逐步走向網路層之外的其他安全層次,不僅要完成傳統防火牆的過濾任務,同時還能為各種網路應用提供相應的安全服務.另外還有多種防火牆產品正朝著數據安全與用戶認證,防止病毒與黑客侵入等方向發展.1、使用Firewall的益處保護脆弱的服務通過過濾不安全的服務,Firewall可以極大地提高網路安全和減少子網中主機的風險。例如,Firewall可以禁止NIS、NFS服務通過,Firewall同時可以拒絕源路由和ICMP重定向封包。控制對系統的訪問Firewall可以提供對系統的訪問控制。如允許從外部訪問某些主機,同時禁止訪問另外的主機。例如,Firewall允許外部訪問特定的Mail Server和Web Server。集中的安全管理Firewall對企業內部網實現集中的安全管理,在Firewall定義的安全規則可以運用於整個內部網路系統,而無須在內部網每台機器上分別設立安全策略。如在Firewall可以定義不同的認證方法,而不需在每台機器上分別安裝特定的認證軟體。外部用戶也只需要經過—次認證即可訪問內部網。增強的保密性使用Firewall可以阻止攻擊者獲取攻擊網路系統的有用信息,如Finger和DNS。記錄和統計網路利用數據以及非法使用數據Firewall可以記錄和統計通過Firewall的網路通訊,提供關於網路使用的統計數據,並且,Firewall可以提供統計數據,來判斷可能的攻擊和探測。策略執行Firewall提供了制定和執行網路安全策略的手段。未設置Firewall時,網路安全取決於每台主機的用戶。2、 設置Firewall的要素網路策略影響Firewall系統設計、安裝和使用的網路策略可分為兩級,高級的網路策略定義允許和禁止的服務以及如何使用服務,低級的網路策略描述Firewall如何限制和過濾在高級策略中定義的服務。服務訪問策略服務訪問策略集中在Internet訪問服務以及外部網路訪問(如撥入策略、SLIP/PPP連接等)。服務訪問策略必須是可行的和合理的。可行的策略必須在阻止己知的網路風險和提供用戶服務之間獲得平衡。典型的服務訪問策略是:允許通過增強認證的用戶在必要的情況下從Internet訪問某些內部主機和服務;允許內部用戶訪問指定的Internet主機和服務。Firewall設計策略Firewall設計策略基於特定的firewall,定義完成服務訪問策略的規則。通常有兩種基本的設計策略:允許任何服務除非被明確禁止;禁止任何服務除非被明確允許。通常採用第二種類型的設計策略。3、 Firewall的基本分類包過濾型包過濾型產品是防火牆的初級產品,其技術依據是網路中的分包傳輸技術.網路上的數據都是以"包"為單位進行傳輸的,數據被分割成為一定大小的數據包,每一個數據包中都會包含一些特定信息,如數據的源地址,目標地址,TCP/UDP源埠和目標埠等.防火牆通過讀取數據包中的地址信息來判斷這些"包"是否來自可信任的安全站點 ,一旦發現來自危險站點的數據包,防火牆便會將這些數據拒之門外.系統管理員也可以根據實際情況靈活制訂判斷規則.包過濾技術的優點是簡單實用,實現成本較低,在應用環境比較簡單的情況下,能夠以較小的代價在一定程度上保證系統的安全.但包過濾技術的缺陷也是明顯的.包過濾技術是一種完全基於網路層的安全技術,只能根據數據包的來源,目標和埠等網路信息進行判斷,無法識別基於應用層的惡意侵入,如惡意的Java小程序以及電子郵件中附帶的病毒.有經驗的黑客很容易偽造IP地址,騙過包過濾型防火牆.網路地址轉換(NAT)是一種用於把IP地址轉換成臨時的,外部的,注冊的IP地址標准.它允許具有私有IP地址的內部網路訪問網際網路.它還意味著用戶不許要為其網路中每一台機器取得注冊的IP地址.在內部網路通過安全網卡訪問外部網路時,將產生一個映射記錄.系統將外出的源地址和源埠映射為一個偽裝的地址和埠,讓這個偽裝的地址和埠通過非安全網卡與外部網路連接,這樣對外就隱藏了真實的內部網路地址.在外部網路通過非安全網卡訪問內部網路時,它並不知道內部網路的連接情況,而只是通過一個開放的IP地址和埠來請求訪問.OLM防火牆根據預先定義好的映射規則來判斷這個訪問是否安全.當符合規則時,防火牆認為訪問是安全的,可以接受訪問請求,也可以將連接請求映射到不同的內部計算機中.當不符合規則時,防火牆認為該訪問是不安全的,不能被接受,防火牆將屏蔽外部的連接請求.網路地址轉換的過程對於用戶來說是透明的,不需要用戶進行設置,用戶只要進行常規操作即可.代理型代理型防火牆也可以被稱為代理伺服器,它的安全性要高於包過濾型產品,並已經開始向應用層發展.代理伺服器位於客戶機與伺服器之間,完全阻擋了二者間的數據交流.從客戶機來看,代理伺服器相當於一台真正的伺服器;而從伺服器來看,代理伺服器又是一台真正的客戶機.當客戶機需要使用伺服器上的數據時,首先將數據請求發給代理伺服器,代理伺服器再根據這一請求向伺服器索取數據,然後再由代理伺服器將數據傳輸給客戶機.由於外部系統與內部伺服器之間沒有直接的數據通道,外部的惡意侵害也就很難傷害到企業內部網路系統.代理型防火牆的優點是安全性較高,可以針對應用層進行偵測和掃描,對付基於應用層的侵入和病毒都十分有效.其缺點是對系統的整體性能有較大的影響,而且代理伺服器必須針對客戶機可能產生的所有應用類型逐一進行設置,大大增加了系統管理的復雜性。監測型監測型防火牆是新一代的產品,這一技術實際已經超越了最初的防火牆定義.監測型防火牆能夠對各層的數據進行主動的,實時的監測,在對這些數據加以分析的基礎上,監測型防火牆能夠有效地判斷出各層中的非法侵入.同時,這種檢測型防火牆產品一般還帶有分布式探測器,這些探測器安置在各種應用伺服器和其他網路的節點之中,不僅能夠檢測來自網路外部的攻擊,同時對來自內部的惡意破壞也有極強的防範作用.據權威機構統計,在針對網路系統的攻擊中,有相當比例的攻擊來自網路內部.因此,監測型防火牆不僅超越了傳統防火牆的定義,而且在安全性上也超越了前兩代產品雖然監測型防火牆安全性上已超越了包過濾型和代理伺服器型防火牆,但由於監測型防火牆技術的實現成本較高,也不易管理,所以在實用中的防火牆產品仍然以第二代代理型產品為主,但在某些方面也已經開始使用監測型防火牆.基於對系統成本與安全技術成本的綜合考慮,用戶可以選擇性地使用某些監測型技術.這樣既能夠保證網路系統的安全性需求,同時也能有效地控制安全系統的總擁有成本.實際上,作為當前防火牆產品的主流趨勢,大多數代理伺服器(也稱應用網關)也集成了包過濾技術,這兩種技術的混合應用顯然比單獨使用具有更大的優勢.由於這種產品是基於應用的,應用網關能提供對協議的過濾.例如,它可以過濾掉FTP連接中的PUT命令,而且通過代理應用,應用網關能夠有效地避免內部網路的信息外泄.正是由於應用網關的這些特點,使得應用過程中的矛盾主要集中在對多種網路應用協議的有效支持和對網路整體性能的影響上。4、 建設Firewall的原則分析安全和服務需求以下問題有助於分析安全和服務需求:√ 計劃使用哪些Internet服務(如http,ftp,gopher),從何處使用Internet服務(本地網,撥號,遠程辦公室)。√ 增加的需要,如加密或拔號接入支持。√ 提供以上服務和訪問的風險。√ 提供網路安全控制的同時,對系統應用服務犧牲的代價。策略的靈活性Internet相關的網路安全策略總的來說,應該保持一定的靈活性,主要有以下原因:√ Internet自身發展非常快,機構可能需要不斷使用Internet提供的新服務開展業務。新的協議和服務大量涌現帶來新的安全問題,安全策略必須能反應和處理這些問題。√ 機構面臨的風險並非是靜態的,機構職能轉變、網路設置改變都有可能改變風險。遠程用戶認證策略√ 遠程用戶不能通過放置於Firewall後的未經認證的Modem訪問系統。√ PPP/SLIP連接必須通過Firewall認證。√ 對遠程用戶進行認證方法培訓。撥入/撥出策略√ 撥入/撥出能力必須在設計Firewall時進行考慮和集成。√ 外部撥入用戶必須通過Firewall的認證。Information Server策略√ 公共信息伺服器的安全必須集成到Firewall中。√ 必須對公共信息伺服器進行嚴格的安全控制,否則將成為系統安全的缺口。√ 為Information server定義折中的安全策略允許提供公共服務。√ 對公共信息服務和商業信息(如email)講行安全策略區分。Firewall系統的基本特徵√ Firewall必須支持.「禁止任何服務除非被明確允許」的設計策略。√ Firewall必須支持實際的安全政策,而非改變安全策略適應Firewall。√ Firewall必須是靈活的,以適應新的服務和機構智能改變帶來的安全策略的改變。√ Firewall必須支持增強的認證機制。√ Firewall應該使用過濾技術以允許或拒絕對特定主機的訪問。√ IP過濾描述語言應該靈活,界面友好,並支持源IP和目的IP,協議類型,源和目的TCP/UDP口,以及到達和離開界面。√ Firewall應該為FTP、TELNET提供代理服務,以提供增強和集中的認證管理機制。如果提供其它的服務(如NNTP,http等)也必須通過代理伺服器。√ Firewall應該支持集中的SMTP處理,減少內部網和遠程系統的直接連接。√ Firewall應該支持對公共Information server的訪問,支持對公共Information server的保護,並且將Information server同內部網隔離。√ Firewall可支持對撥號接入的集中管理和過濾。√ Firewall應支持對交通、可疑活動的日誌記錄。√ 如果Firewall需要通用的操作系統,必須保證使用的操作系統安裝了所有己知的安全漏洞Patch。√ Firewall的設計應該是可理解和管理的。√ Firewall依賴的操作系統應及時地升級以彌補安全漏洞。5、選擇防火牆的要點(1) 安全性:即是否通過了嚴格的入侵測試。(2) 抗攻擊能力:對典型攻擊的防禦能力(3) 性能:是否能夠提供足夠的網路吞吐能力(4) 自我完備能力:自身的安全性,Fail-close(5) 可管理能力:是否支持SNMP網管(6) VPN支持(7) 認證和加密特性(8) 服務的類型和原理(9)網路地址轉換能力三.病毒防護技術病毒歷來是信息系統安全的主要問題之一。由於網路的廣泛互聯,病毒的傳播途徑和速度大大加快。我們將病毒的途徑分為:(1 ) 通過FTP,電子郵件傳播。(2) 通過軟盤、光碟、磁帶傳播。(3) 通過Web游覽傳播,主要是惡意的Java控制項網站。(4) 通過群件系統傳播。病毒防護的主要技術如下:(1) 阻止病毒的傳播。在防火牆、代理伺服器、SMTP伺服器、網路伺服器、群件伺服器上安裝病毒過濾軟體。在桌面PC安裝病毒監控軟體。(2) 檢查和清除病毒。使用防病毒軟體檢查和清除病毒。(3) 病毒資料庫的升級。病毒資料庫應不斷更新,並下發到桌面系統。(4) 在防火牆、代理伺服器及PC上安裝Java及ActiveX控制掃描軟體,禁止未經許可的控制項下載和安裝。四.入侵檢測技術利用防火牆技術,經過仔細的配置,通常能夠在內外網之間提供安全的網路保護,降低了網路安全風險。但是,僅僅使用防火牆、網路安全還遠遠不夠:(1) 入侵者可尋找防火牆背後可能敞開的後門。(2) 入侵者可能就在防火牆內。(3) 由於性能的限制,防火焰通常不能提供實時的入侵檢測能力。入侵檢測系統是近年出現的新型網路安全技術,目的是提供實時的入侵檢測及採取相應的防護手段,如記錄證據用於跟蹤和恢復、斷開網路連接等。實時入侵檢測能力之所以重要首先它能夠對付來自內部網路的攻擊,其次它能夠縮短hacker入侵的時間。入侵檢測系統可分為兩類:√ 基於主機√ 基於網路基於主機的入侵檢測系統用於保護關鍵應用的伺服器,實時監視可疑的連接、系統日誌檢查,非法訪問的闖入等,並且提供對典型應用的監視如Web伺服器應用。基於網路的入侵檢測系統用於實時監控網路關鍵路徑的信息,其基本模型如右圖示:上述模型由四個部分組成:(1) Passive protocol Analyzer網路數據包的協議分析器、將結果送給模式匹配部分並根據需要保存。(2) Pattern-Matching Signature Analysis根據協議分析器的結果匹配入侵特徵,結果傳送給Countermeasure部分。(3) countermeasure執行規定的動作。(4) Storage保存分析結果及相關數據。基於主機的安全監控系統具備如下特點:(1) 精確,可以精確地判斷入侵事件。(2) 高級,可以判斷應用層的入侵事件。(3) 對入侵時間立即進行反應。(4) 針對不同操作系統特點。(5) 佔用主機寶貴資源。基於網路的安全監控系統具備如下特點:(1) 能夠監視經過本網段的任何活動。(2) 實時網路監視。(3) 監視粒度更細致。(4) 精確度較差。(5) 防入侵欺騙的能力較差。(6) 交換網路環境難於配置。基於主機及網路的入侵監控系統通常均可配置為分布式模式:(1) 在需要監視的伺服器上安裝監視模塊(agent),分別向管理伺服器報告及上傳證據,提供跨平台的入侵監視解決方案。(2) 在需要監視的網路路徑上,放置監視模塊(sensor),分別向管理伺服器報告及上傳證據,提供跨網路的入侵監視解決方案。選擇入侵監視系統的要點是:(1) 協議分析及檢測能力。(2) 解碼效率(速度)。(3) 自身安全的完備性。(4) 精確度及完整度,防欺騙能力。(5) 模式更新速度。五.安全掃描技術網路安全技術中,另一類重要技術為安全掃描技術。安全掃描技術與防火牆、安全監控系統互相配合能夠提供很高安全性的網路。安全掃描工具源於Hacker在入侵網路系統時採用的工具。商品化的安全掃描工具為網路安全漏洞的發現提供了強大的支持。安全掃描工具通常也分為基於伺服器和基於網路的掃描器。基於伺服器的掃描器主要掃描伺服器相關的安全漏洞,如password文件,目錄和文件許可權,共享文件系統,敏感服務,軟體,系統漏洞等,並給出相應的解決辦法建議。通常與相應的伺服器操作系統緊密相關。基於網路的安全掃描主要掃描設定網路內的伺服器、路由器、網橋、變換機、訪問伺服器、防火牆等設備的安全漏洞,並可設定模擬攻擊,以測試系統的防禦能力。通常該類掃描器限制使用范圍(IP地址或路由器跳數)。網路安全掃描的主要性能應該考慮以下方面:(1) 速度。在網路內進行安全掃描非常耗時。(2) 網路拓撲。通過GUI的圖形界面,可迭擇一步或某些區域的設備。(3) 能夠發現的漏洞數量。(4) 是否支持可定製的攻擊方法。通常提供強大的工具構造特定的攻擊方法。因為網路內伺服器及其它設備對相同協議的實現存在差別,所以預制的掃描方法肯定不能滿足客戶的需求。(5) 報告,掃描器應該能夠給出清楚的安全漏洞報告。(6) 更新周期。提供該項產品的廠商應盡快給出新發現的安生漏洞掃描特性升級,並給出相應的改進建議。安全掃描器不能實時監視網路上的入侵,但是能夠測試和評價系統的安全性,並及時發現安全漏洞。六. 認證和數宇簽名技術認證技術主要解決網路通訊過程中通訊雙方的身份認可,數字簽名作為身份認證技術中的一種具體技術,同時數字簽名還可用於通信過程中的不可抵賴要求的實現。認證技術將應用到企業網路中的以下方面:(1) 路由器認證,路由器和交換機之間的認證。(2) 操作系統認證。操作系統對用戶的認證。(3) 網管系統對網管設備之間的認證。(4) VPN網關設備之間的認證。(5) 撥號訪問伺服器與客戶間的認證。(6) 應用伺服器(如Web Server)與客戶的認證。(7) 電子郵件通訊雙方的認證。數字簽名技術主要用於:(1) 基於PKI認證體系的認證過程。(2) 基於PKI的電子郵件及交易(通過Web進行的交易)的不可抵賴記錄。認證過程通常涉及到加密和密鑰交換。通常,加密可使用對稱加密、不對稱加密及兩種加密方法的混合。UserName/Password認證該種認證方式是最常用的一種認證方式,用於操作系統登錄、telnet、rlogin等,但由於此種認證方式過程不加密,即password容易被監聽和解密。使用摘要演算法的認證Radius(撥號認證協議)、路由協議(OSPF)、SNMP Security Protocol等均使用共享的Security Key,加上摘要演算法(MD5)進行認證,由於摘要演算法是一個不可逆的過程,因此,在認證過程中,由摘要信息不能計算出共享的security key,敏感信息不在網路上傳輸。市場上主要採用的摘要演算法有MD5和SHA-1。基於PKI的認證使用公開密鑰體系進行認證和加密。該種方法安全程度較高,綜合採用了摘要演算法、不對稱加密、對稱加密、數字簽名等技術,很好地將安全性和高效率結合起來。後面描述了基於PKI認證的基本原理。這種認證方法目前應用在電子郵件、應用伺服器訪問、客戶認證、防火牆驗證等領域。該種認證方法安全程度很高,但是涉及到比較繁重的證書管理任務。

Ⅵ Web伺服器性能和站點訪問性能該如何優化

今天小編要跟大家分享的文章是關於Web伺服器性能和站點訪問性能該如何優化?正在從web前端工作的小夥伴們來和小編一起看一看吧!

一、優化思路淺析


要優化Web伺服器的性能,我們先來看看Web伺服器在web頁面處理上的步驟:


1、Web瀏覽器向一個特定的伺服器發出Web頁面請求;


2、Web伺服器接收到web頁面請求後,尋找所請求的web頁面,並將所請求的Web頁面傳送給Web瀏覽器;


3、Web瀏覽器接收到所請求的web頁面內容,並將它顯示出來。


上面三個步驟都關系Web伺服器,但實際Web伺服器性能相關最大的是在第2步,這里Web伺服器需要尋找來自瀏覽器所請求的Web
頁面內容。


我們知道,Web頁面內容有靜態的,也有動態的,靜態的內容,web
伺服器可以直接將結果發回給瀏覽器,對於動態內容,則通常需要交給應用伺服器先處理,由應用伺服器返回結果。


當然,也有Web伺服器本身可以處理動態內容的,例如IIS就可以自已解釋處理ASP,ASP.NET這兩種微軟的動態網頁腳本語言。


從上面簡要的分析里,我們大致可以得到這樣的結論,影響Web頁面訪問的影響因素會有這幾個:


1、Web伺服器從磁碟中讀取靜態頁面內容的速度,也即時間;


2、Web伺服器判定請求內容是靜態還是動態內容的時間;


3、Web伺服器轉發請求給應用伺服器的時間;


4、應用伺服器處理(解釋)動態內容所需的時間;


5、Web伺服器返回Web內容給瀏覽器的響應時間;


6、Web伺服器接收來自瀏覽器請求的處理性能;


7、Web訪問請求數據在網路上傳輸的時間:包括從瀏覽器到伺服器,和從伺服器到瀏覽器兩部分;


8、瀏覽器本地計算和渲染Web內容的時間,即接收內容後展現內容的時間。


上面8項很容易理解,也很直接,其實還有以下幾項也是關乎Web
頁面訪問速度體驗的因素,你可以思考下是否如此?或者說是否會影響到頁面訪問性能。


§Web伺服器執行安全策略檢查的時間,或者說性能;


§Web伺服器讀取日誌文件、寫日誌內容、關閉對日誌文件訪問的時間,先讀後寫再關閉,這三步中的讀與寫又涉及到磁碟訪問性能因素;


§同時與Web伺服器連接會話的客戶端數量大小,即並發訪問量多大。


我們可以將上面的影響因素抽像出來,那麼就是:


1、Web伺服器磁碟性能;


2、Web伺服器與應用伺服器交互的性能;


3、應用伺服器處理動態內容的性能,或者說動態內容應用處理性能;


4、客戶端與Web伺服器的連接速度,即網路傳輸性能;


5、Web瀏覽器解釋和渲染Web內容的性能;


6、Web訪問並發性能。


反映到我們進行性能優化,可以入手的角度就有:


1、增加帶寬,包括伺服器和客戶端兩邊的Internet連接帶寬;


2、加快動態內容的處理性能;


3、盡可能多地使用靜態內容,這樣Web伺服器就可以無需請求應用伺服器,直接將Web內容發給瀏覽器端,這里可以入手的方案又有:


動態內容緩存


動態內容靜態化


多台伺服器負載均衡同時處理大量的並發訪問;


提升伺服器磁碟訪問性能,也即通常所說的I/O性能;


減少網頁中的HTTP請求數;


更換更好性能的Web伺服器;


合理部署伺服器,在離客戶端更近的地方部署伺服器,已經證明可以明顯地提升訪問性能。


二、性能優化實踐


經過前面小節的簡要分析,相信你對優化Web伺服器有一定的思路了,你可以從硬體層面、軟體層面、Web代碼三個層面去優化。


下面我們結合一個具體的實例來實踐一回,本文所舉例是一個小型的Web
站點,部分數據系假設,如有類同,純屬巧合,僅起拋磚引玉之用。在實際工作中,如果碰到大站點,你可以參考此處的分析,修改優化方案。


1.站點簡介


一個社區論壇站點,採用Discuz!論壇程序構建,該程序採用主流的PHP+MySQL組成。


網站目前有近5萬注冊用戶,絕大多數是國內的用戶,活躍用戶數在一半左右,每天平均PV在15~20萬,獨立訪問IP數在8000
左右。


2.Web伺服器性能優化需求


網站現部署在國外的伺服器,租用虛擬主機來運營,因為訪問量比較大,所以經常會收到虛擬主機服務商的流量很大的通知,要求控制下訪問量。


另外,虛擬主機的伺服器在美國,沒有在國內租用虛擬主機的原因是國內網站在備案方面非常繁瑣,在網站一開始運營時數據量和訪問量都比較小,所以對性能要求不高,數據量小,所以伺服器在查詢處理數據時速度比較快,也讓人感覺訪問速度不慢,現在隨著數據量和訪問量的不斷上升,訪問速度已明顯下降,到了需要改善訪問性能的時候了。


基於目前該社區網站的情況,提出的優化需求是,國內訪問速度需要提升一倍,目前首頁載入時間需要40秒左右,希望優化後能在20
秒以內將首頁載入完成。


另外提出網站數據能夠每天自動備份一次,備份數據保留一個月的,以便隨時恢復。


上述兩點需求,其中第一條才是性能優化需求,第二條是額外的需求了。


3.性能優化方案


根據其網站的現狀和優化需求,結合自己的經驗,加上谷歌的搜索,同時與網站主不斷確認溝通,最終得到以下性能優化方案:


由虛擬主機部署改為獨立伺服器部署


虛擬主機受限比較多,無法自己自定義配置Web伺服器,無法配置PHP
動態緩存,而且獨立伺服器可以獨享內存、處理器資源,不再受虛擬主機商對每個虛擬主機用戶的內存和處理器資源佔用限制。處理器資源和內存資源,對接受更多並發訪問有直接性能提升效果。


獨立伺服器,我們選用Linode2048型號,2G內存,4核處理器(Linode所有VPS都是四核處理器),80G硬碟空間,800G
網路流量。


由Windows操作系統改為Linux操作系統


網站使用的是PHP+MySQL程序,PHP在Windows下的性能,受限於IIS需要通過ISAPI形式調用PHP,所以性能不如
Linux下Apache直接通過PHP模塊解釋PHP,更不如Nginx與PHP-FPM
的性能,既然使用了獨立伺服器,操作系統也可以自己確定,Linux系統我們選用了熟悉的UbuntuLinuxServer10.04(一年前還沒有
12.04),^-^。


Web伺服器採用Nginx,而不使用Apache


選用Nginx而不用Apache的原因非常直接和乾脆,因為站點里有很多靜態的附件文件,在處理靜態內容上,Nginx性能是Apache
的差不多10倍。


在PHP解釋和偽靜態規則方面,Apache要比Nginx強,但這不影響我們放棄它,為緩解這一點,我們在後面對PHP
進行了動態緩存。


對PHP查詢進行動態緩存,使用eAccelerator這個加速器


PHP加速器是一個為了提高PHP執行效率,從而緩存起PHP的操作碼,這樣PHP後面執行就不用解析轉換了,可以直接調用PHP
操作碼,這樣速度上就提高了不少。


eAccelerator是一個開源PHP加速器,優化和動態內容緩存,提高了PHP腳本的緩存性能,使得PHP
腳本在編譯的狀態下,對伺服器的開銷幾乎完全消除。它還有對腳本起優化作用,以加快其執行效率。使得的PHP程序代碼執效率能提高1-10
倍,這個加速還是非常明顯的。


具體地,我們計劃對eAccelerator進行以下設置優化:


§緩存使用物理內存來進行,不使用磁碟來緩存。我們知道內存的讀寫性能是硬碟的N倍,所以在內存資源可以安排情況下,強烈建議使用內存來保存
eAccelerator的緩存內容。


§緩存大小設置為32MB,這個值是操作系統默認支持最大的緩存容量。雖然可以通過修改配置文件來加大這個值,但我們覺得沒有必要,所以就放棄了。


Nginx性能優化


選用了Nginx,雖然它的性能很好,但我們仍然需要對它進行性能優化,在這個案例中,我們做了以下優化:


§使用8個進程,每個進程大約需要20M內存消耗,這里一共使用了150M左右的內存。


§充分使用主伺服器的CPU內核:四核,使用CPU粘性配置選項(worker_cpu_affinity),每核處理器分配兩個進程。


§開啟gzip壓縮功能:gzip壓縮對JS,CSS,XML壓縮效果非常好,能壓縮一半,即減少一倍的傳輸時間;對圖片文件,JPG
已經壓縮過的,它的壓縮性能要少一些。


§圖片本地緩存1天:網站上的圖片很多,通常一張圖片上傳後,不會頻繁的修改,只會頻繁的訪問,所以將圖片放在Nginx
緩存里,可以減少伺服器訪問載入次數,提升訪問速度。


§JS、CSS文件本地緩存7
天:這兩種網頁文件,平時都不會去修改它,將它緩存起來,可以減少載入次數,提升訪問速度。為什麼這兩種文件不和圖片一起設置緩存有效期,是考慮了不同文件的修改頻率不一樣。


§Nginx日誌每天切割一次:這個優化項能大大減小Nginx日誌文件的大小,經過一周的查看,每天的日誌文件是50M
左右,如果不是每天切割,用月切割,那一個月的日誌文件就是幾個G,要Web
伺服器在內存里載入這么大的文件,系統本身內存不夠用,就自然會用到磁碟來緩存,這就影響性能。每天50M左右,在內存上完全可以順利載入,這樣Nginx
在處理訪問時,可以快速的保存訪問日誌。


經過上述幾個優化項目,Nginx這邊一共需要佔用200M左右內存資源。


對PHPCGI進程性能進行優化


Nginx沒有PHP模塊,所以它對PHP的支持是通過PHP-FPM來實現的,PHP-FPM
是跑進程來處理並發請求,在這個案例中,我們配置了20個進程,每個進程差不多佔用20M左右內存資源,一共是400M左右。


同時,PHP-FPM與Nginx交互機制,選用LinuxSocket模式而不是TCP協議埠,Socks是系統級處理模式,socks
也就是一個文件連接,而TCP協議埠,需要經過網路協議處理,性能不如前者,所以我們選擇了前者。


MySQL資料庫性能優化


因為網站主程序是選用他人開發的開源程序,所以對資料庫查詢的程序優化我們無法處理,只能從MySQL本身尋找突破口。


我們可以想像一下,對於論壇網站,通常看貼、查貼的訪問量要遠大於創建貼子、回復貼子的訪問量,體現在MySQL
資料庫上,就是讀表與查詢表數據的連接處理更多。


因此我們要選擇對讀表、查詢性能更好的存儲引擎,結合以前了解的知識,MySQL預設的MyISAM
引擎就是被設計為適合處理讀頻率遠大於寫頻率的環境,查詢效率相當可觀,而且內存佔用很少,這也與我們租用低內存配置的VPS相符。


具體到MySQL配置參數的優化上,受限於伺服器上內存資源本身有限,就直接採用預設的中型環境配置文件。


內容分發網路應用


站點每天十多萬的訪問,上萬獨立IP
訪問,查看先前的訪問統計,訪問來自國內各個地區,使用多種網路連接訪問進來,為保證來自各網路的用戶訪問速度,同時也減少對網站伺服器的請求,我們採用了CDN
來分發靜態內容,這樣各地的用戶可以就近訪問到已緩存在CDN上的文件,CDN
服務商會在靜態內容第一次訪問時緩存到他們全國各地的伺服器上,當第二次訪問時,用戶實際是沒有連接到網站伺服器上獲取文件的,而是直接從CDN
伺服器上獲取,可以明顯的提升網站性能。


以上就是小編今天為大家分享的關於Web伺服器性能和站點訪問性能該如何優化的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助。想要了解更多web前端相關知識記得關注北大青鳥web培訓官網。最後祝願小夥伴們工作順利!