當前位置:首頁 » 雲伺服器 » 伺服器性能差怎麼解決

伺服器性能差怎麼解決

發布時間: 2022-10-23 13:06:13

『壹』 換了dns網頁速度變快了 為什麼。。

這是正常現象,不同的DNS伺服器性能和連接速度有差異。
1、DNS是域名系統(Domain Name System)。在Internet上域名與IP地址之間是一一對應的,域名雖然便於人們記憶,但機器之間只能互相認識IP地址,它們之間的轉換工作稱為 域名解析,域名解析需要由專門的域名解析系統來完成,DNS就是進行域名解析的系統。
2、平時上網輸入的是域名,需要DNS伺服器來將他轉換成對應的IP地址,如果DNS伺服器性能太差,或者DNS伺服器與客戶端本身的連接線路質量不好。這個轉換的過程就會比較長。自然就影響網頁的載入速度了。

『貳』 CC防護的策略有哪幾種

CC攻擊種類:

1、直接攻擊:主要針對有重要缺陷的Web應用程序,一般來說是程序寫的有問題的時候才會出現這種情況,比較少見。

2、肉雞攻擊:黑客使用CC攻擊軟體,控制大量肉雞發動攻擊,相比代理攻擊更難防禦,因為肉雞可以模擬正常用戶訪問網站的請求,偽造成合法數據包。

3、僵屍網路攻擊:有點類似於DDoS攻擊,從Web應用程序層面上已經無法防禦。

4、代理攻擊:代理攻擊是黑客藉助代理伺服器生成指向受害主機的合法網頁請求,實現Dos和偽裝。

CC攻擊防禦措施:

1、取消域名綁定

一般CC攻擊都是針對網站的域名進行攻擊,比如我們網站域名為:www.oldboye.com,那麼攻擊者就在攻擊工具中設定攻擊對象為該域名然後實施攻擊。對於這樣的攻擊我們的措施是取消這個域名的綁定,讓CC攻擊失去目標。

2、屏蔽IP

我們通過命令或在查看日誌發現了CC攻擊的源ip,就可以在防火牆中設置屏蔽該IP對web站點的訪問,從而達到防範攻擊的目的。

3、更改Web埠

一般情況下Web伺服器通過80埠對外提供服務,因此攻擊者實施攻擊就以默認的80埠進行攻擊,所以,我們可以修改Web埠達到防CC攻擊的目的。

4、域名欺騙解析

如果發現針對域名的CC攻擊,我們可以把被攻擊的域名解析到127.0.0.1這個地址上。我們知道127.0.0.1是本地回環IP是用來進行網路測試的,如果把被攻擊的域名解析到這個IP上,就可以實現攻擊者自己攻擊自己的目的,這樣再多的肉雞或者代理也會宕機。

5、部署高防CDN防禦

高防CDN可以自動識別惡意攻擊流量,對這些虛假流量進行智能清洗,將正常訪客流量回源到源伺服器IP上,保障源伺服器的正常穩定運行。

『叄』 伺服器性能不足怎麼辦

伺服器的性能對於每個企業來講都是十分重要的一環,一款性能強大性價比高的伺服器能夠為企業的競爭力增加更多籌碼.那麼當伺服器性能不足時,如何才能讓其達到最強狀態呢?先定一個小目標 雙核

『肆』 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培訓官網。最後祝願小夥伴們工作順利!


『伍』 網速特別慢是什麼原因

寬頻網速慢,可能是由於存在以下情況導致:
1、訪問的網站伺服器帶寬窄或伺服器繁忙,可以稍後在訪問網站;
2、電腦的原因如電腦配置比較低或系統處理能力弱,就會顯得速度慢;
3、可能是電腦病毒或者木馬等原因造成上網速度慢,用戶可以下載安全軟體進行掃描排查;
4、用戶使用路由器共享上網,連接網路的人數比較多導致網速慢;
5、modem設備出現工作不穩定比如長時間開機,可以重啟下寬頻貓嘗試;
6、線路原因(如線路長、線路雜訊較大、入戶線質量不好、用戶端線路改動等因素造成)。
了解更多服務優惠請關注「安徽電信」公眾號。

『陸』 bind為什麼性能不好

您好,這是因為bind伺服器,不會調用其他cpu從而性能不好。bind9.14及以上版本默認開啟多線程並且支持REUSEPORT特性所以性能明顯要高於小於bind9.14版本。

bind9.9在此硬體平台上關閉日誌時最高的解析性能大概是15萬QPS左右,它最大隻能是用4個CPU即400%的佔用,雖然此時還有其他的CPU在空閑,但也不會再分配請求給其他的CPU來提升性能,因為bind9.9沒使用REUSRPORT特性。

『柒』 手機b站無法登錄,怎麼辦

等待伺服器恢復。

2021年7月13日晚,眾多用戶反映B站網頁端和移動端均出現載入失敗的現象。「b站崩了」也沖上熱搜第一。B站回應稱:部分伺服器機房發生故障,造成無法訪問。技術團隊隨即進行了問題排查和修復,現在服務已經陸續恢復正常。

在經歷了長達30分鍾的「網頁載入失敗」後,嗶哩嗶哩官方終於正面回應稱,B 站的部分伺服器機房發生故障,造成無法訪問。

技術團隊隨即進行了問題排查和修復,現在服務已經陸續恢復正常。除此之外,官方未對任何伺服器方面或技術方面的細節進行講解。這才是嗶哩嗶哩全平台崩潰的真正原因。

伺服器宕機原因及措施

運行環境導致伺服器宕機。伺服器運行環境包括操作系統,應用程序,資料庫,應用程序bug,網路數據等,以上軟體系統故障會引起伺服器宕機現象。措施:查找分析系統、應用程序相關日誌的錯誤信息來解決問題,可以重裝系統或重啟伺服器等方法。

伺服器性能導致伺服器宕機。因為IDC提供商的伺服器和硬體有些是組裝伺服器,難免會因硬體兼容性,CPU,內存等性能不好,導致宕機。措施:查看伺服器硬體信息,在租用或選購時盡量用品牌伺服器,品牌伺服器性能更穩定。

伺服器軟、硬體導致伺服器宕機。數據丟失包括誤刪除關鍵數據、磁碟壞道導致數據丟失等 導致宕機,伺服器主板、電源、CPU、內存以及磁碟有問題也會導致伺服器宕機故障。措施:使用工具測試相關硬體配件,或更換配件測試伺服器硬體問題,並且做好數據備份,監控磁碟空間大小。

『捌』 如何衡量WWW伺服器的性能,影響它的性能因素有哪些

在評價WWW伺服器性能時,應該了解該測量哪些指標,並確保這些指標能夠反映WWW伺服器的使用情況。
顯然,硬體和操作系統是基準測試的主要領域。同一個高級工作站或一台U N I X機相比,一台只有中檔C P U、硬碟不大而內存只有3 2兆的P C機的性能就要差得多了。在不同的WWW基準測試中,不同的操作系統(包括S o l a r i s和Windows NT)的性能得分也是不一樣的。

影響WWW伺服器性能的另一個因素是連接速度。T 3連接上的伺服器向客戶機傳輸WWW頁面的速度要大大高於T 1連接上的相同伺服器的速度(在測量伺服器原始性能時,不考慮客戶機的連接)。

還有一個應考慮的因素是伺服器可處理用戶的數量。這個能力很難測量,因為它取決於伺服器的線路速度、客戶機的線路速度以及傳輸的WWW頁面的正常大小。測量伺服器WWW頁面傳輸能力的重要指標是吞吐能力和響應時間。吞吐能力是某種硬體和軟體的組合在單位時間內能夠處理H T T P請求的數目。響應時間是伺服器處理一個請求所需的時間。這些數值應該處於伺服器能夠處理的負荷范圍之內(包括高峰期)。

最後,系統應客戶機的要求所傳輸的頁面的組合和類型也會大大影響伺服器的性能。動態頁面的內容是應客戶機的請求由特定的程序來確定的,靜態頁面是從磁碟檢索所獲的固定內容的WWW頁面。如果一台伺服器主要傳輸靜態頁面,其性能要好於傳輸動態頁面的同檔伺服器,這是因為靜態頁面傳輸比動態頁面傳輸所需的計算能力小。在傳輸動態頁面時,不同伺服器的性能差異很大。

目前有多種WWW伺服器基準測試程序,它們可就很多衡量指標對伺服器進行測試,依據這些測試可決定伺服器的選擇。

『玖』 網站性能優化怎麼辦

一、前端優化

網站性能優化是一個很綜合的話題,涉及到伺服器的配置和網站前後端程序等各個方面,我只是從實際經歷出發,分享一下自己所嘗試過的網站性能優化方法。之所以在標題上掛一個web2.0,是因為本文更偏重於中小網站的性能優化,我所使用的系統也是典型web2.0的LAMP架構。

首先講講前端的優化,用戶訪問網頁的等待時間,有80%是發生在瀏覽器前端,特別是頁面和頁面中各種元素(圖片、CSS、javascript、 flash…)的下載之上。因此在很多情況下,相對於把大量的時間花在艱苦而繁雜的程序改進上,前端的優化往往能起到事半功倍的作用。雅虎最近將內部使用的性能測試工具yslow向第三方公開,並發布了著名的網站性能優化的十三條規則,建議你下載並安裝yslow,並作為測評網站優化效果的工具。下面我挑其中特別有價值的具體說明一下優化的方法:

對於第一次訪問您網站,尚未在瀏覽器cache中緩存您網站內容的用戶,我們可以做的事情包括:

1)減少一個頁面訪問所產生的http連接次數
對於第一次訪問你網站的用戶,頁面所產生的http連接次數是影響性能的一個關鍵瓶頸。

對策:
- 盡量簡潔的頁面設計,最大程度減少圖片的使用,通過放棄一些不必要的頁面特效來減少javascript的使用。
- 使用一些優化技巧,比如利用圖片的背景位移減少圖片的個數;image map技術;使用Inline images將css圖片捆綁到網頁中。
- 盡量合並js和css文件,減少獨立文件個數。

2) 使用gzip壓縮網頁內容
使用gzip來壓縮網頁中的靜態內容,能夠顯著減少用戶訪問網頁時的等待時間(據說可達到60%)。主流的web伺服器都支持或提供gzip壓縮,如果使用apache伺服器,只需要在配置文件中開啟 mod_gzip(apache1.x)或mod_deflate(apache2.x)即可。凡是靜態的頁面,使用gzip壓縮都能夠顯著提高伺服器效率並減少帶寬支出,注意圖片內容本身已經是壓縮格式了,務必不要再進行壓縮。

3)將CSS放在頁面頂端,JS文件放在頁面底端
CSS的引用要放在html的頭部header中,JS文件引用盡量放在頁面底端標簽的後面,主要的思路是讓核心的頁面內容盡早顯示出來。不過要注意,一些大量使用js的頁面,可能有一些js文件放在底端會引起一些難以預料的問題,根據實際情況適當運用即可。

4)使JS文件內容最小化
具體來說就是使用一些javascript壓縮工具對js腳本進行壓縮,去除其中的空白字元、注釋,最小化變數名等。在使用gzip壓縮的基礎上,對js內容的壓縮能夠將性能再提高5%。

5)盡量減少外部腳本的使用,減少DNS查詢時間
不要在網頁中引用太多的外部腳本,首先,一次dns的解析過程會消耗20-120毫秒的時間;其次,如果在頁面中引用太多的外部文件(如各種廣告、聯盟等代碼),可能會因為外部文件的響應速度而將你的網站拖得很慢。如果不得不用,那麼就盡量將這些腳本放在頁腳吧。不過有一點需要提及,就是瀏覽器一般只能並行處理同一域名下的兩個請求,而對於不同子的域名則不受此限制,因此適當將本站靜態內容(css,js)放在其他的子域名下(如 static.xxx.com)會有利於提高瀏覽器並行下載網頁內容的能力。

對於您網站的經常性訪問用戶,主要的優化思路就是最大限度利用用戶瀏覽器的cache來減少伺服器的開銷。

1)在header中添加過期時間(Expires Header)
在header中給靜態內容添加一個較長的過期時間,這樣可以使用戶今後訪問只讀取緩存中的文件,而不會與伺服器產生任何的交互。不過這樣做也存在一些問題,當圖片、CSS和js文件更新時,用戶如果不刷新瀏覽器,就無法獲得此更新。這樣,我們在對圖片、css和js文件修改時,必須要進行重命名,才能保證用戶訪問到最新的內容。這可能會給開發造成不小的麻煩,因為這些文件可能被站點中的許多文件所引用。flickr提出的解決辦法是通過url rewrite使不同版本號的URL事實上指向同一個文件,這是一個聰明的辦法,因為url級別的操作效率是很高的,可以給開發過程提供不少便利。

要理解為什麼這樣做,必須要了解瀏覽器訪問url時的工作機制:
a. 第一次訪問url時,用戶從伺服器段獲取頁面內容,並把相關的文件(images,css,js…)放在高速緩存中,也會把文件頭中的expired time,last modified, ETags等相關信息也一同保留下來。
b. 用戶重復訪問url時,瀏覽器首先看高速緩存中是否有本站同名的文件,如果有,則檢查文件的過期時間;如果尚未過期,則直接從緩存中讀取文件,不再訪問伺服器。
c. 如果緩存中文件的過期時間不存在或已超出,則瀏覽器會訪問伺服器獲取文件的頭信息,檢查last modifed和ETags等信息,如果發現本地緩存中的文件在上次訪問後沒被修改,則使用本地緩存中的文件;如果修改過,則從伺服器上獲取最新版本。

我的經驗,如果可能,盡量遵循此原則給靜態文件添加過期時間,這樣可以大幅度減少用戶對伺服器資源的重復訪問。

2)將css和js文件放在獨立外部文件中引用
將css和js文件放在獨立文件中,這樣它們會被單獨緩存起來,在訪問其他頁面時可以從瀏覽器的高速緩存中直接讀取。一些網站的首頁可能是例外的,這些首頁的自身瀏覽可能並不大,但卻是用戶訪問網站的第一印象以及導向到其他頁面的起點,也可能這些頁面本身使用了大量的ajax局部刷新及技術,這時可以將 css和js文件直接寫在頁面中。

3)去掉重復的腳本
在IE中,包含重復的js腳本會導致瀏覽器的緩存不被使用,仔細檢查一下你的程序,去掉重復引用的腳本應該不是一件很難的事情。

4)避免重定向的發生
除了在header中人為的重定向之外,網頁重定向常在不經意間發生,被重定向的內容將不會使用瀏覽器的緩存。比如用戶在訪問www.xxx.com,伺服器會通過301轉向到www.xxx.com/,在後面加了一個「/」。如果伺服器的配置不好,這也會給伺服器帶來額外的負擔。通過配置apache的 alias或使用mod_rewrite模塊等方法,可以避免不必要的重定向。

還有一些,比如使用CDN分發機制、避免CSS表達式等、避免使用ETags等,因為不太常用,這里就不再贅述了。

做完了上述的優化,可以試著用yslow測試一下網頁的性能評分,一般都可以達到70分以上了。

當然,除了瀏覽器前端和靜態內容的優化之外,還有針對程序腳本、伺服器、資料庫、負載的優化,這些更深層次的優化方法對技術有更高的要求。本文的後半部分將重點探討後端的優化。

二、後端優化

上次寫完web2.0網站前端優化篇之後,一直想寫寫後端優化的方法,今天終於有時間將思路整理了出來。

前端優化可以避免我們造成無謂的伺服器和帶寬資源浪費,但隨著網站訪問量的增加,僅靠前端優化已經不能解決所有問題了,後端軟體處理並行請求的能力、程序運 行的效率、硬體性能以及系統的可擴展性,將成為影響網站性能和穩定的關鍵瓶頸所在。優化系統和程序的性能可以從以下的方面來入手:

1)apache、mysql等軟體的配置的優化
盡管apache和mysql等軟體在安裝後使用的默認設置足以使你的網站運行起來,但是通過調整mysql和apache的一些系統參數,還是可以追求更高的效率和穩定性。這個領域中有很多專業的文章和論壇(比如: http://www.mysqlperformanceblog.com/),要想掌握也需要進行深入的研究和實踐,這里就不重點討論了。

2)應用程序環境加速
這里僅以我最常應用的php開發環境為例,有一些工具軟體可以通過優化PHP運行環境來達到提速的目的,其基本原理大致是將PHP代碼預編譯並緩存起來,而不需要改變任何代碼,所以比較簡單,可以將php的運行效率提升50%以上。比較常用的免費php加速工具有:APC( http: //pecl.php.net/package-info.php?package=APC)、Turck MMCache( http://turck-mmcache.sourceforge.net)、php accelebrator(www.php-accelerator.co.uk),還有收費的Zend Performance Suite

3)將靜態內容和動態內容分開處理
apache是一個功能完善但比較龐大的web server,它的資源佔用基本上和同時運行的進程數呈正比,對伺服器內存的消耗比較大,處理並行任務的效率也一般。在一些情況下,我們可以用比較輕量級的web server來host靜態的圖片、樣式表和javascript文件,這樣可以大大提升靜態文件的處理速度,還可以減少對內存佔用。我使用的web server是來自俄羅斯的nginx,其他選擇方案還包括lighttpd和thttpd等。

4)基於反向代理的前端訪問負載均衡
當一台前端伺服器不足以應付用戶訪問時,通過前端機實現web訪問的負載均衡是最快速可行的方案。通過apache的mod_proxy可以實現基於反向代理的負載均衡,這里推薦使用nginx做代理伺服器,處理速度較apache更快一些。

5)應用緩存技術提高資料庫效能,文件緩存和分布式緩存
資料庫訪問處理並發訪問的能力是很多網站應用的關鍵瓶頸,在想到使用主從結構和多farm的方式構建伺服器集群之前,首先應該確保充分使用了資料庫查詢的緩存。一些資料庫類型(如mysql的innoDB)自身內置對緩存的支持,此外,還可以利用程序方法將常用的查詢通過文件或內存緩存起來。比如通過 php中的ob_start和文件讀寫函數可以很方便的實現文件形式的緩存,而如果你擁有多台伺服器,可以通過memcache技術通過分布式共享內存來對資料庫查詢進行緩存,不僅效率高而且擴展性好,memcache技術在livejournal和Craigslist.org等知名網站應用中都得到了檢驗。

6)伺服器運行狀態的檢測,找到影響性能的瓶頸所在
系統優化沒有一勞永逸的方法,需要通過檢測伺服器的運行狀態來及時發現影響性能的瓶頸,以及可能存在的潛在問題,因為網站的性能,永遠取決於木桶中的短板。可以編寫一些腳本來檢測web服務的運行,也有一些開源的軟體也提供了很好的功能

7)良好的擴展架構是穩定和性能的基礎
一些技巧和竅門可以幫你度過眼前的難關,但要想使網站具備應付大規模訪問的能力,則需要從系統架構上進行徹底的規劃,好在很多前人無私的把他們架構
網站的經驗分享給我們,使我們可以少走甚多彎路。我最近讀到的兩篇有啟發的文章:
- 從LiveJournal後台發展看大規模網站性能優化方法
- Myspace的六次重構

最後不得不提到程序編碼和資料庫結構對性能的影響,一系列糟糕的循環語句,一個不合理的查詢語句、一張設計不佳的數據表或索引表,都足以會使應用程序運行的速度成倍的降低。培養全局思考的能力,養成良好的編程習慣,並對資料庫運行機制有所了解,是提高編程質量的基礎。

『拾』 一台伺服器的主要性能指標有哪些

人盡其才、物盡其用」。企業購買伺服器當然是為滿足特定需要。針對不同需求,我們要關注的性能指標也不同。舉例來說,對於資料庫伺服器,聯機事物處理能力是最需著力考察的指標。TPC-C是「事務處理性能委員會」(TPC)負責制訂的基準測試指標,考察聯機事務處理每分鍾吞吐量。而TPC-C測試結果又包括兩個指標,一個是流量指標tpmC,這個值越大越好;另一個是性價比指標Price/tpmC,指的是測試系統價格與流量指標的比值,這個值則越小越好。以IBM公司的x366為例子,根據TPC官方網站,TPC-C在線交易基準測試中,x366的流量指標達到了141504tpmC,是4路至強晶元伺服器的世界紀錄。

再比如說,購買Web伺服器時,最重要的性能指標就應該是SPEC web99。SPEC web99為Web用戶提供了用於評測系統用作Web伺服器能力的最客觀、最具代表性的基準; 而如果是選購應用伺服器,關注SPEC jbb200和SAP SD這兩個指標就能知道大概其了,因為SPEC jbb200是專門用來評估伺服器系統運行Java應用程序能力的基準測試,而SAP SD 的測試結果為客戶提供了基本的規模建議。

對於大多數人來說,基準測試指標是一個全新的知識空間 – 許多人在購買伺服器時習慣於考慮CPU和內存,以為選定了這些,伺服器的性能就差不多了。其實,不同的系統設計技術會對伺服器的性能產生巨大影響,用諸多量化指標來衡量比較是十分必要和重要的。

用戶都希望系統能24×7×365不停機、無故障地運行,這其實是要求伺服器的可用性。而可用性和可管理性是息息相關的。伺服器的故障處理技術越成熟,為用戶提供的可用性就越高,而這個故障處理技術必須要有良好的管理手段和界面來及時表現:一方面可以通過出現故障時自動執行系統或部件切換以避免或減少意外停機,另一方面要讓管理員及時察覺及幫助診斷,才能從根本上解決問題。目前這方面做得較好的是IBMx3架構伺服器。它帶有一種叫「彈出式光通路診斷面板」的技術,只要輕輕,光通路診斷面板就會以從伺服器前端彈出,指示器可以幫助管理員快速地定位和替換故障組件,減少伺服器的宕機時間。

以基準測試指標為基準,以理性考量為准繩,二者並行互航,您選擇的伺服器肯定錯不了!

附表:部分伺服器性能指標

應用
基準測試
簡述
測試中主要考察的部件
聯機事物處理
TPC-C
TPC-C是一種考察聯機事務處理(OLTP)每分鍾吞吐量的基準測試。TPC-C模擬的是完整的計算環境,大量用戶針對資料庫(如SQL、Server Oracle,DB2)執行並發事務操作。許多IT專業人員將TPC-C視為衡量「真實」OLTP系統性能的有效參考基準。
全面考察微處理器,內存子系統,磁碟子系統合一些網路組件
電子商務
SPECweb99 SPECweb99用於評測Web伺服器能夠支持的最大同時連接數的客戶端/伺服器基準測試。基準負載是由運行HTTP Server的伺服器聯網的客戶端設備上的客戶端軟體來實現的。為Web用戶提供用於評測系統用作Web伺服器能力的最客觀、最具代表性的基準。
系統的微處理器、內存體系結構和編譯器
SPECjbb200 SPECjbb200(Java業務基準)是SPEC第一個用於評估伺服器端Java的性能的基準,為Java用戶提供用於評測伺服器系統運行Java應用程序能力的最客觀、最具代表性的基準

熱點內容
php難招 發布:2025-01-14 19:06:07 瀏覽:487
sublime編譯php 發布:2025-01-14 18:57:16 瀏覽:307
雲計算伺服器是什麼 發布:2025-01-14 18:56:22 瀏覽:41
vip域名查詢ftp 發布:2025-01-14 18:46:48 瀏覽:114
格式化linux 發布:2025-01-14 18:35:14 瀏覽:593
如何進入安卓原生市場 發布:2025-01-14 18:22:06 瀏覽:558
台式電腦找不到伺服器 發布:2025-01-14 18:19:58 瀏覽:423
androidsdk網盤 發布:2025-01-14 18:17:43 瀏覽:80
個別用戶訪問不了騰訊雲伺服器 發布:2025-01-14 18:03:27 瀏覽:276
oracle鏈接sqlserver 發布:2025-01-14 17:58:33 瀏覽:729