Web服務(wù)器:網(wǎng)站打開慢?web網(wǎng)站服務(wù)器性能提升方法總結(jié)
【小編提示】本文部分內(nèi)容摘自網(wǎng)絡(luò),僅供參考!如需了解服務(wù)器租用\托管相關(guān)問題,請咨詢YINGSOO專業(yè)客服,享受1V1貼心服務(wù)!免費(fèi)熱線400-630-3752
【本周熱銷】馬來西亞獨(dú)立服務(wù)器丨馬來西亞服務(wù)器丨馬來西亞主機(jī)丨馬來西亞云服務(wù)器
【選購幫助】馬來西亞服務(wù)器怎么樣?好用嗎?

在這個(gè)快節(jié)奏的時(shí)代,如果點(diǎn)擊一家網(wǎng)站想要進(jìn)去看看,但是網(wǎng)站打開的速度太緩慢,那么應(yīng)該許多人都會(huì)選擇關(guān)閉網(wǎng)站,再去其他家看看了吧。網(wǎng)站打開速度緩慢,不僅會(huì)造成流量的損失,還會(huì)影響網(wǎng)站seo優(yōu)化的效果。面對(duì)這樣的情況我們有何解決辦法呢?
優(yōu)化思路淺析
要優(yōu)化 web 服務(wù)器的性能,我們先來看看 web 服務(wù)器在 web 頁面處理上的步驟:
1.web 瀏覽器向一個(gè)特定的服務(wù)器發(fā)出 web 頁面請求;
2.web 服務(wù)器接收到 web 頁面請求后,尋找所請求的 web 頁面,并將所請求的 web 頁面?zhèn)魉徒o web 瀏覽器;
3.web 瀏覽器接收到所請求的 web 頁面內(nèi)容,并將它顯示出來。
上面三個(gè)步驟都關(guān)系 web 服務(wù)器,但實(shí)際 web 服務(wù)器性能相關(guān)最大的是在第 2 步,這里 web 服務(wù)器需要尋找來自瀏覽器所請求的 web 頁面內(nèi)容。
我們知道,web 頁面內(nèi)容有靜態(tài)的,也有動(dòng)態(tài)的,靜態(tài)的內(nèi)容,web 服務(wù)器可以直接將結(jié)果發(fā)回給瀏覽器,對(duì)于動(dòng)態(tài)內(nèi)容,則通常需要交給應(yīng)用服務(wù)器先處理,由應(yīng)用服務(wù)器返回結(jié)果。
當(dāng)然,也有 web 服務(wù)器本身可以處理動(dòng)態(tài)內(nèi)容的,例如 iis 就可以自已解釋處理 Asp, Asp.net 這兩種微軟的動(dòng)態(tài)網(wǎng)頁腳本語言。
從上面簡要的分析里,我們大致可以得到這樣的結(jié)論,影響 web 頁面訪問的影響因素會(huì)有這幾個(gè):
1.web 服務(wù)器從磁盤中讀取靜態(tài)頁面內(nèi)容的速度,也即時(shí)間;
2.web 服務(wù)器判定請求內(nèi)容是靜態(tài)還是動(dòng)態(tài)內(nèi)容的時(shí)間;
3.web 服務(wù)器轉(zhuǎn)發(fā)請求給應(yīng)用服務(wù)器的時(shí)間;
4.應(yīng)用服務(wù)器處理(解釋)動(dòng)態(tài)內(nèi)容所需的時(shí)間;
5.web 服務(wù)器返回 web 內(nèi)容給瀏覽器的響應(yīng)時(shí)間;
6.web 服務(wù)器接收來自瀏覽器請求的處理性能;
7.web 訪問請求數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)臅r(shí)間:包括從瀏覽器到服務(wù)器,和從服務(wù)器到瀏覽器兩部分;
8.瀏覽器本地計(jì)算和渲染 web 內(nèi)容的時(shí)間,即接收內(nèi)容后展現(xiàn)內(nèi)容的時(shí)間。
上面 8 項(xiàng)很容易理解,也很直接,其實(shí)還有以下幾項(xiàng)也是關(guān)乎 web 頁面訪問速度體驗(yàn)的因素,你可以思考下是否如此?或者說是否會(huì)影響到頁面訪問性能。
web 服務(wù)器執(zhí)行安全策略檢查的時(shí)間,或者說性能;
web 服務(wù)器讀取日志文件、寫日志內(nèi)容、關(guān)閉對(duì)日志文件訪問的時(shí)間,先讀后寫再關(guān)閉,這三步中的讀與寫又涉及到磁盤訪問性能因素;
同時(shí)與 web 服務(wù)器連接會(huì)話的客戶端數(shù)量大小,即并發(fā)訪問量多大。
我們可以將上面一共 11 項(xiàng)影響因素抽像出來,那么就是:
1.web 服務(wù)器磁盤性能;
2.web 服務(wù)器與應(yīng)用服務(wù)器交互的性能;
3.應(yīng)用服務(wù)器處理動(dòng)態(tài)內(nèi)容的性能,或者說動(dòng)態(tài)內(nèi)容應(yīng)用處理性能;
4.客戶端與 web 服務(wù)器的連接速度,即網(wǎng)絡(luò)傳輸性能;
5.web 瀏覽器解釋和渲染 web 內(nèi)容的性能;
6.web 訪問并發(fā)性能。
反映到我們進(jìn)行性能優(yōu)化,可以入手的角度就有:
1.增加帶寬,包括服務(wù)器和客戶端兩邊的 internet 連接帶寬;
2.加快動(dòng)態(tài)內(nèi)容的處理性能;
3.盡可能多地使用靜態(tài)內(nèi)容,這樣 web 服務(wù)器就可以無需請求應(yīng)用服務(wù)器,直接將 web 內(nèi)容發(fā)給瀏覽器端,這里可以入手的方案又有:
動(dòng)態(tài)內(nèi)容緩存
[菲律賓vps價(jià)格] 動(dòng)態(tài)內(nèi)容靜態(tài)化
4.多臺(tái)服務(wù)器負(fù)載均衡同時(shí)處理大量的并發(fā)訪問;
5.提升服務(wù)器磁盤訪問性能,也即通常所說的 i/o 性能;
6.減少網(wǎng)頁中的 Http 請求數(shù);
7.更換更好性能的 web 服務(wù)器;
8.合理部署服務(wù)器,在離客戶端更近的地方部署服務(wù)器,已經(jīng)證明可以明顯地提升訪問性能。
性能優(yōu)化實(shí)踐
經(jīng)過前面小節(jié)的簡要分析,我相信你對(duì)優(yōu)化 web 服務(wù)器有一定的思路了,你可以從硬件層面、軟件層面、web 代碼三個(gè)層面去優(yōu)化。
下面我們結(jié)合一個(gè)具體的實(shí)例來實(shí)踐一回,本文所舉例是一個(gè)小型的 web 站點(diǎn),部分?jǐn)?shù)據(jù)系假設(shè),如有類同,純屬巧合,僅起拋磚引玉之用。在實(shí)際工作中,如果碰到大站點(diǎn),你可以參考此處的分析,修改優(yōu)化方案。
1. 站點(diǎn)簡介
一個(gè)社區(qū)論壇站點(diǎn),采用 discuz! 論壇程序構(gòu)建,該程序采用主流的 pHp + mysQL 組成。
網(wǎng)站目前有近 5 萬注冊用戶,絕大多數(shù)是國內(nèi)的用戶,活躍用戶數(shù)在一半左右,每天平均 pV 在 15~20 萬,獨(dú)立訪問 ip 數(shù)在 8000 左右。
2. web 服務(wù)器性能優(yōu)化需求
網(wǎng)站現(xiàn)部署在國外的服務(wù)器,租用虛擬主機(jī)來運(yùn)營,因?yàn)樵L問量比較大,所以經(jīng)常會(huì)收到虛擬主機(jī)服務(wù)商的流量很大的通知,要求控制下訪問量。
另外,虛擬主機(jī)的服務(wù)器在美國,沒有在國內(nèi)租用虛擬主機(jī)的原因是國內(nèi)網(wǎng)站在備案方面非常繁瑣,在網(wǎng)站一開始運(yùn)營時(shí)數(shù)據(jù)量和訪問量都比較小,所以對(duì)性能要求不高,數(shù)據(jù)量小,所以服務(wù)器在查詢處理數(shù)據(jù)時(shí)速度比較快,也讓人感覺訪問速度不慢,現(xiàn)在隨著數(shù)據(jù)量和訪問量的不斷上升,訪問速度已明顯下降,到了需要改善訪問性能的時(shí)候了。
基于目前該社區(qū)網(wǎng)站的情況,提出的優(yōu)化需求是,國內(nèi)訪問速度需要提升一倍,目前首頁加載時(shí)間需要 40 秒左右,希望優(yōu)化后能在 20 秒以內(nèi)將首頁加載完成。
另外提出網(wǎng)站數(shù)據(jù)能夠每天自動(dòng)備份一次,備份數(shù)據(jù)保留一個(gè)月的,以便隨時(shí)恢復(fù)。
上述兩點(diǎn)需求,其中第一條才是性能優(yōu)化需求,第二條是額外的需求了。
3. 性能優(yōu)化方案
根據(jù)其網(wǎng)站的現(xiàn)狀和優(yōu)化需求,結(jié)合自己的經(jīng)驗(yàn),加上谷歌的搜索,同時(shí)與網(wǎng)站主不斷確認(rèn)溝通,最終得到以下性能優(yōu)化方案:
由虛擬主機(jī)部署改為獨(dú)立服務(wù)器部署
虛擬主機(jī)受限比較多,無法自己自定義配置 web 服務(wù)器,無法配置 pHp 動(dòng)態(tài)緩存,而且獨(dú)立服務(wù)器可以獨(dú)享內(nèi)存、處理器資源,不再受虛擬主機(jī)商對(duì)每個(gè)虛擬主機(jī)用戶的內(nèi)存和處理器資源占用限制。處理器資源和內(nèi)存資源,對(duì)接受更多并發(fā)訪問有直接性能提升效果。
由 windows 操作系統(tǒng)改為 Linux 操作系統(tǒng)
網(wǎng)站使用的是 pHp + mysQL 程序,pHp 在 windows 下的性能,受限于 iis 需要通過 isApi 形式調(diào)用 pHp,所以性能不如 Linux 下 Apache 直接通過 pHp 模塊解釋 pHp,更不如 nginx 與 pHp-Fpm 的性能,既然使用了獨(dú)立服務(wù)器,操作系統(tǒng)也可以自己確定,Linux 系統(tǒng)我們選用了熟悉的 Ubuntu Linux server 10.04(一年前還沒有 12.04),^-^。
web 服務(wù)器采用 nginx,而不使用 Apache
選用 nginx 而不用 Apache 的原因非常直接和干脆,因?yàn)檎军c(diǎn)里有很多靜態(tài)的附件文件,在處理靜態(tài)內(nèi)容上,nginx 性能是 Apache 的差不多 10 倍。
在 pHp 解釋和偽靜態(tài)規(guī)則方面,Apache 要比 nginx 強(qiáng),但這不影響我們放棄它,為緩解這一點(diǎn),我們在后面對(duì) pHp 進(jìn)行了動(dòng)態(tài)緩存。
對(duì) pHp 查詢進(jìn)行動(dòng)態(tài)緩存,使用 eAccelerator 這個(gè)加速器
pHp 加速器是一個(gè)為了提高 pHp 執(zhí)行效率,從而緩存起 pHp 的操作碼,這樣 pHp 后面執(zhí)行就不用解析轉(zhuǎn)換了,可以直接調(diào)用 pHp 操作碼,這樣速度上就提高了不少。
eAccelerator 是一個(gè)開源 pHp 加速器,優(yōu)化和動(dòng)態(tài)內(nèi)容緩存,提高了 pHp 腳本的緩存性能,使得 pHp 腳本在編譯的狀態(tài)下,對(duì)服務(wù)器的開銷幾乎完全消除。它還有對(duì)腳本起優(yōu)化作用,以加快其執(zhí)行效率。使得的 pHp 程序代碼執(zhí)效率能提高 1-10 倍,這個(gè)加速還是非常明顯的。
具體地,我們計(jì)劃對(duì) eAccelerator 進(jìn)行以下設(shè)置優(yōu)化:
緩存使用物理內(nèi)存來進(jìn)行,不使用磁盤來緩存。我們知道內(nèi)存的讀寫性能是硬盤的 n 倍,所以在內(nèi)存資源可以安排情況下,強(qiáng)烈建議使用內(nèi)存來保存 eAccelerator 的緩存內(nèi)容。
[臺(tái)灣服務(wù)器租用]緩存大小設(shè)置為 32mb,這個(gè)值是操作系統(tǒng)默認(rèn)支持最大的緩存容量。雖然可以通過修改配置文件來加大這個(gè)值,但我們覺得沒有必要,所以就放棄了。
nginx 性能優(yōu)化
選用了 nginx,雖然它的性能很好,但我們?nèi)匀恍枰獙?duì)它進(jìn)行性能優(yōu)化,在這個(gè)案例中,我們做了以下優(yōu)化:
使用 8 個(gè)進(jìn)程,每個(gè)進(jìn)程大約需要 20m 內(nèi)存消耗,這里一共使用了 150m 左右的內(nèi)存。
充分使用主服務(wù)器的 cpU 內(nèi)核:
四核,使用 cpU 粘性配置選項(xiàng)(worker_cpu_affinity),每核處理器分配兩個(gè)進(jìn)程。
開啟 gzip 壓縮功能:
gzip 壓縮對(duì) Js, css, XmL 壓縮效果非常好,能壓縮一半,即減少一倍的傳輸時(shí)間;
對(duì)圖片文件,Jpg 已經(jīng)壓縮過的,它的壓縮性能要少一些。
圖片本地緩存 1 天:
網(wǎng)站上的圖片很多,通常一張圖片上傳后,不會(huì)頻繁的修改,只會(huì)頻繁的訪問,所以將圖片放在 nginx 緩存里,可以減少服務(wù)器訪問加載次數(shù),提升訪問速度。
Js、css 文件本地緩存 7 天:
這兩種網(wǎng)頁文件,平時(shí)都不會(huì)去修改它,將它緩存起來,可以減少加載次數(shù),提升訪問速度。
為什么這兩種文件不和圖片一起設(shè)置緩存有效期,是考慮了不同文件的修改頻率不一樣。
nginx 日志每天切割一次:
這個(gè)優(yōu)化項(xiàng)能大大減小 nginx 日志文件的大小,經(jīng)過一周的查看,每天的日志文件是 50m 左右,如果不是每天切割,用月切割,那一個(gè)月的日志文件就是幾個(gè) g,要 web 服務(wù)器在內(nèi)存里加載這么大的文件,系統(tǒng)本身內(nèi)存不夠用,就自然會(huì)用到磁盤來緩存,這就影響性能。
每天 50m 左右,在內(nèi)存上完全可以順利加載,這樣 nginx 在處理訪問時(shí),可以快速的保存訪問日志。
經(jīng)過上述幾個(gè)優(yōu)化項(xiàng)目,nginx 這邊一共需要占用 200m 左右內(nèi)存資源。
對(duì) pHp cgi 進(jìn)程性能進(jìn)行優(yōu)化
nginx 沒有 pHp 模塊,所以它對(duì) pHp 的支持是通過 pHp-Fpm 來實(shí)現(xiàn)的,pHp-Fpm 是跑進(jìn)程來處理并發(fā)請求,在這個(gè)案例中,我們配置了 20 個(gè)進(jìn)程,每個(gè)進(jìn)程差不多占用 20m 左右內(nèi)存資源,一共是 400m 左右。
同時(shí),pHp-Fpm 與 nginx 交互機(jī)制,選用 Linux socket 模式而不是 tcp 協(xié)議端口,socks 是系統(tǒng)級(jí)處理模式,socks 也就是一個(gè)文件連接,而 tcp 協(xié)議端口,需要經(jīng)過網(wǎng)絡(luò)協(xié)議處理,性能不如前者,所以我們選擇了前者。
mysQL 數(shù)據(jù)庫性能優(yōu)化
因?yàn)榫W(wǎng)站主程序是選用他人開發(fā)的開源程序,所以對(duì)數(shù)據(jù)庫查詢的程序優(yōu)化我們無法處理,只能從 mysQL 本身尋找突破口。
我們可以想像一下,對(duì)于論壇網(wǎng)站,通??促N、查貼的訪問量要遠(yuǎn)大于創(chuàng)建貼子、回復(fù)貼子的訪問量,體現(xiàn)在 mysQL 數(shù)據(jù)庫上,就是讀表與查詢表數(shù)據(jù)的連接處理更多。
因此我們要選擇對(duì)讀表、查詢性能更好的存儲(chǔ)引擎,結(jié)合以前了解的知識(shí),mysQL 缺省的 myisAm 引擎就是被設(shè)計(jì)為適合處理讀頻率遠(yuǎn)大于寫頻率的環(huán)境,查詢效率相當(dāng)可觀,而且內(nèi)存占用很少,這也與我們租用低內(nèi)存配置的 Vps 相符。
具體到 mysQL 配置參數(shù)的優(yōu)化上,受限于服務(wù)器上內(nèi)存資源本身有限,就直接采用缺省的中型環(huán)境配置文件。
內(nèi)容分發(fā)網(wǎng)絡(luò)應(yīng)用
站點(diǎn)每天十多萬的訪問,上萬獨(dú)立 ip 訪問,查看先前的訪問統(tǒng)計(jì),訪問來自國內(nèi)各個(gè)地區(qū),使用多種網(wǎng)絡(luò)連接訪問進(jìn)來,為保證來自各網(wǎng)絡(luò)的用戶訪問速度,同時(shí)也減少對(duì)網(wǎng)站服務(wù)器的請求,我們采用了 cdn 來分發(fā)靜態(tài)內(nèi)容,這樣各地的用戶可以就近訪問到已緩存在 cdn 上的文件,cdn 服務(wù)商會(huì)在靜態(tài)內(nèi)容第一次訪問時(shí)緩存到他們?nèi)珖鞯氐姆?wù)器上,當(dāng)?shù)诙卧L問時(shí),用戶實(shí)際是沒有連接到網(wǎng)站服務(wù)器上獲取文件的,而是直接從 cdn服務(wù)器上獲取,可以明顯的提升網(wǎng)站性能。
作者:coagent
美國服務(wù)器租用服務(wù)的基本功能有哪些
伴隨著商品的持續(xù)現(xiàn)代化發(fā)展趨勢,越累越大的公司較為親睞美國服務(wù)器,最先能夠免備案空間,次之美國服務(wù)器限定偏少,能夠考慮不一樣的客戶滿意度,那麼怎樣挑選營運(yùn)商呢?接下去人們來談一談美國服務(wù)器租賃服務(wù)項(xiàng)目的基本要素有什么。
一、原始服務(wù)器設(shè)定
美國服務(wù)器租賃服務(wù)提供商,將依據(jù)您的規(guī)定配備您的服務(wù)器,包含安裝和配[美國云虛擬主機(jī)]備您挑選的操作系統(tǒng)及其特殊部件和服務(wù)項(xiàng)目,比如Web服務(wù)器、電子郵件服務(wù)器、數(shù)據(jù)庫查詢服務(wù)器、DNS等。
二、原始服務(wù)器加強(qiáng)和安全系數(shù)
這事實(shí)上是一個(gè)重要部件,您必須確保您的美國服務(wù)器獲得技術(shù)專業(yè)的維護(hù)和加強(qiáng)。這一般包含操作系統(tǒng)安全更新、TCP/IP加強(qiáng)、維護(hù)您的電子郵件/數(shù)據(jù)庫查詢服務(wù)器以防止垃圾短信和侵入、禁止使用風(fēng)險(xiǎn)腳本制作等。
三、災(zāi)禍修復(fù)方案
因?yàn)楦鞣N各樣內(nèi)部和外界[江西虛擬主機(jī)]要素,美國服務(wù)器在其生命期的某一時(shí)間點(diǎn)非常容易產(chǎn)生常見故障。應(yīng)用美國服務(wù)器租賃服務(wù)項(xiàng)目,提議應(yīng)用公司級(jí)硬件配置并盡量地應(yīng)用數(shù)據(jù)冗余(比如,用作儲(chǔ)存的RAID),這有利于降到最低常見故障危害。可是,盡早制訂合理的災(zāi)禍修復(fù)方案十分關(guān)鍵。一般,這應(yīng)當(dāng)具備充足總數(shù)的服務(wù)器來儲(chǔ)存每天備份文件,便于您能夠從以往的備份文件迅速復(fù)原。
您始終不容易期望您的平臺(tái)網(wǎng)站/服務(wù)器無法打開。確保您的美國服務(wù)器和重要服務(wù)項(xiàng)目以24×7為基本開展監(jiān)控器十分關(guān)鍵,那樣您才可以在終端用戶留意到以前解決難題。
四、操作系統(tǒng)和系統(tǒng)更新
為維護(hù)您的美國服務(wù)器,盡量確保您的操作系統(tǒng)和手機(jī)軟件與最新版和升級(jí)維持同歩,避免網(wǎng)絡(luò)黑客運(yùn)用系統(tǒng)漏洞損害您的平臺(tái)網(wǎng)站/服務(wù)器的概率。
五、基本服務(wù)器安全性審批
原始加強(qiáng)服務(wù)器安全策略后,對(duì)服務(wù)器實(shí)行按時(shí)審批以處理一切新的安全警報(bào)及其查詢防火墻設(shè)置、事件日志等,以確保您的美國服務(wù)器中沒有系統(tǒng)漏洞和侵入。
六、24×7能用權(quán)威專家服務(wù)支持精英團(tuán)隊(duì)
每一平臺(tái)網(wǎng)站/服務(wù)器使用者都期望保證她們的服務(wù)器和平臺(tái)網(wǎng)站自始至終運(yùn)作暢順。假如出現(xiàn)一切難題,您必須確保您可以輕輕松松迅速地聯(lián)絡(luò)到服務(wù)支持精英團(tuán)隊(duì),她們能夠調(diào)研您的難題并協(xié)助您保證圓滿經(jīng)營。服務(wù)支持精英團(tuán)隊(duì)?wèi)?yīng)當(dāng)充足高效率,可以確診難題并馬上修補(bǔ)。它是美國服務(wù)器租賃服務(wù)項(xiàng)目的一個(gè)十分關(guān)鍵的要素。
YINGSOO400電話:400-630-3752
熱門文章:【免費(fèi)國外云主機(jī)】【國外高防服務(wù)器租用有哪些好處】【高防cdn服務(wù)器】【服務(wù)器租用價(jià)格哪家便宜】【服務(wù)器硬件】【服務(wù)器海外】【德國服務(wù)器租用】【國外服務(wù)器地址】【智能家居】【佛山高防服務(wù)器價(jià)格如何決定】【外貿(mào)建站首選便宜美國服務(wù)器】【CDN加速用哪個(gè)好且便宜呢】【為何美國高防護(hù)服務(wù)器如此受歡迎】【獨(dú)有云虛擬主機(jī)】【租用美國服務(wù)器】【虛擬主機(jī)和云服務(wù)器】【高段1U服務(wù)器中的U指什么】【網(wǎng)頁服務(wù)器】【服務(wù)器安全防護(hù)方案】【香港服務(wù)器哪個(gè)便宜】
YINGSOO韓國的主機(jī)推介3天免費(fèi)試用,注冊享特惠!
韓國的主機(jī)推介控制面板自主管理,5分鐘交付,KT高品質(zhì)機(jī)房,平均延遲低至80ms,2019年韓國的主機(jī)推介銷量再度破表,1200家企業(yè)共同選擇,高達(dá)95%的續(xù)約率印證YINGSOO品質(zhì)
http://maisonbaluchon.cn/products/cloud-kr.html
9年韓國主機(jī)提供商業(yè)務(wù)運(yùn)營經(jīng)驗(yàn),1200家企業(yè)客戶共同選擇.韓國Korea Telecom機(jī)房核心合作伙伴,機(jī)房帶寬資源充足,到國內(nèi)速度平均在80ms左右.
http://maisonbaluchon.cn/products/cloud-kr.html
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信