❶ 怎麼提高網站從伺服器讀取數據的速度
現在伺服器的配置層出不窮,讀取速度成為了重中之重,那我們改怎麼樣來提高伺服器的讀取速度呢?下面壹基比小喻來教你們幾個方法。
1.使用內存資料庫,、
內存資料庫,其實就是將數據放在內存中直接操作的資料庫。相對於磁碟,內存的數據讀寫速度要高出幾個數量級,將數據保存在內存中相比從磁碟上訪問能夠極大地提高應用的性能。內存資料庫拋棄了磁碟數據管理的傳統方式,基於全部數據都在內存中重新設計了體系結構,並且在數據緩存、快速演算法、並行操作方面也進行了相應的改進,所以數據處理速度比傳統資料庫的數據處理速度要快很多。
但是安全性的問題可以說是內存資料庫最大的硬傷。因為內存本身有掉電丟失的天然缺陷,因此我們在使用內存資料庫的時候,通常需要,提前對內存上的數據採取一些保護機制,比如備份,記錄日誌,熱備或集群,與磁碟資料庫同步等方式。對於一些重要性不高但是又想要快速響應用戶請求的部分數據可以考慮內存資料庫來存儲,同時可以定期把數據固化到磁碟。
2.使用RDD
在大數據雲計算相關領域的一些應用中,Spark可以用來加快數據處理速度。Spark的核心是RDD,RDD最早來源與Berkeley實驗室的一篇論文《Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing》。現有的數據流系統對兩種應用的處理並不高效:一是迭代式演算法,這在圖應用和機器學習領域很常見;二是互動式數據挖掘工具。這兩種情況下,將數據保存在內存中能夠極大地提高性能。% n( i. u5 O! m;
3.增加緩存
很多web應用是有大量的靜態內容,這些靜態內容主要都是一些小文件,並且會被頻繁的讀,採用Apache以及nginx作為web伺服器。在web訪問量不大的時候,這兩個http伺服器可以說是非常的迅速和高效,如果負載量很大的時候,我們可以採用在前端搭建cache伺服器,將伺服器中的靜態資源文件緩存到操作系統內存中直接進行讀操作,因為直接從內存讀取數據的速度要遠大於從硬碟讀取。這個其實也是增加內存的成本來降低訪問磁碟帶來的時間消耗。
4.使用SSD
除了對內存方面的優化,還可以對磁碟這邊進行優化。跟傳統機械硬碟相比,固態硬碟具有快速讀寫、質量輕、能耗低以及體積小等特點。但是ssd的價格相比傳統機械硬碟要貴,有條件的可以使用ssd來代替機械硬碟。/
5.優化資料庫)
大部分的伺服器請求最終都是要落到資料庫中,隨著數據量的增加,資料庫的訪問速度也會越來越慢。想要提升請求處理速度,必須要對原來的單表進行動刀了。目前主流的Linux伺服器使用的資料庫要屬mysql了,如果我們使用mysql存儲的數據單個表的記錄達到千萬級別的話,查詢速度會很慢的。根據業務上合適的規則對資料庫進行分區分表,可以有效提高資料庫的訪問速度,提升伺服器的整體性能。另外對於業務上查詢請求,在建表的時候可以根據相關需求設置索引等,以提高查詢速度。
❷ 有沒有什麼辦法可以提升伺服器的處理速度
建議你可以考復慮霆智硬體的加速制陣,我們公司用的是U810.1,因為公司的業務量很大,隨著時間的增長,之前出現過這個情況,最快的時侯查詢一張全年的收發存匯總表需要快20分鍾時間,我們一直認為是軟體的問題,那段時間用友的人也經常來,也經常做調試,效果也不明顯,後來用友的人帶了一個硬體廠商過來公司,聽他們介紹是他們採用硬體和軟體的方案加速,硬體採用他們的加速卡,提高數據吞吐能力,再加上資料庫,網路等優化,來提升整體的運行效率,最後他們還給我們申請了一台樣機,從測試的結果來看,效果還是挺好的,查詢全年的收發存匯總表在他們的平台上只跑了4分鍾多的時間。
❸ 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培訓官網。最後祝願小夥伴們工作順利!
❹ 怎樣提高Windows伺服器性能
這里有許多你只需要做簡單的操作就能對提高伺服器的性能有所幫助。所有的這些都不可能對移動頁文件到一個指定磁碟有什麼異常情況發生,盡管大多數的操作需要手動完成,但是這些所有的技巧都能夠顯著地提高伺服器的性能。
大多數討論關於優化伺服器性能的文章都會集中在使用性能監視器來尋找性能瓶頸問題。性能監視器對於如何提高伺服器性能來說,確實是一個優秀的工具。但是,使用性能監視器,是需要用戶必須了解性能監視器中產生的數據都是些什麼意思。
那麼,這里有十項能夠幫助你做提高伺服器性能的事情
1.為頁文件使用專用磁碟
這項技巧可能是最大限度的提高你伺服器性能的方法。默認情況下,Windows創建一個頁文件,將它作為虛擬內存。因為Windows會頻繁的使用這個文件。這個文件最好的存儲位置就是在一個專門磁碟上(注意:不是單獨卷)。伺服器性能做這些會確保Windows在讀取頁文件數據前,而將不需等待其他的應用使用硬碟完成。
2.保證你的硬碟定期運行磁碟碎片整理程序伺服器性能
現今的磁碟在執行連續不斷的讀取時,其實是很快的。然而,當磁碟被請求去讀取散亂存放的數據時,Windows的性能就會下降。通過運行磁碟碎片整理程序,你能夠確保文件能以順序的方式而不是雜亂無章的存放在磁碟上,從而,你的計算機將會高效地讀取文件。
3.使用NTFS文件系統
盡管對於Windows伺服器版本操作系統來說,NTFS是默認的文件系統,Windows是支持使用FAT和FAT-32文件系統的。我讀過的每一本MSCE培訓教程推薦使用NTFS文件系統是因為它比FAT和FAT-32文件系統使用中更安全。伺服器性能但是這些書籍中都沒有提及NTFS是一種基於處理(transaction-based)的文件系統。這就意味著相比較FAT和FAT-32文件系統而言,NTFS文件系統更快。
4.避免運行16-位應用
64位Windows操作系統根本不能夠運行16位應用,所以說這一項對於64位操作系統來說並不是個問題。但是,32位Windows操作系統將會運行16位應用。使用多任務處理模式的Windows更多的使用16位應用。伺服器性能討論Windows的多任務處理使用16位應用將需要單獨開篇說明,但是可以確定的說,運行16位應用會對降低性能。
5.查找內存泄漏(memory leaks)
內存泄漏很難被寫成是一個應用上的問題。通常情況下,它會為一個應用去在一個需要的基礎上請求操作系統中的內存。典型的是,當應用不再被運行時,它將會把內存釋放給操作系統。如果一個應用包括了一個內存泄漏,當它被運行時,將會向內存發出請求,但是當使用完畢後,釋放內存是失敗的。伺服器性能當下一次應用需要內存時,它將會向Windows要求的內存數比上一次要多。長此以往,Windows能夠為其他的應用提供的內存數將會越來越少。
最初,內存泄漏對系統性能的影響是可以忽略不計的,但是當這樣的泄漏變得越來越多的時候,它對系統性能的影響就會凸現出來。
盡管我曾經說過我不會在這篇文章中討論性能監控器,但是對於查找內存泄漏來說,性能監控器是最佳工具。
6.移除那些極少使用的組件
我曾經購買的每一台伺服器上都會裝上各種各樣的監控或者日誌組件。如果你能夠有計劃有規律的使用這些組件的話,在計算機上安裝這些組件算不得什麼不正確的選擇。伺服器性能但是令我吃驚的是有很多系統管理員安裝(或者從不移除)那些伺服器上的組件,並且實際上除了浪費系統資源外,它們甚至從來沒被運行過。
7.停止運行那些不使用的服務
在一篇類似的文章中,我也推薦瀏覽服務控制管理器,並關閉那些沒有被用到的服務。這樣不但能夠提高我們的伺服器性能,另外它也可以提高伺服器的安全性。計算機有一條法則描述了被執行的代碼越多,代碼中包含的不安全因素的機會就會增多。通過關閉那些不使用的服務,你做得即是減少執行代碼的大小,從而降低伺服器包含的安全漏洞被利用的機會。
8.注銷
這是另一個你能夠提高伺服器安全和性能的方法。當你不再使用控制台的時候,出於安全原因考慮,你應該進行注銷操作。伺服器性能 同時,在你登陸時,Windows將會載入你的用戶屬性,這將會消耗內存和CPU。
9.壓縮磁碟
當微軟發布MS-DOS5.0時,它們介紹了其磁碟壓縮的特色功能。當時的情況是讓硬碟或者軟盤能夠通過壓縮功能存儲更多的數據。當我試著使用磁碟壓縮技術,這時,我的計算機運行就慢了下來,我就改回使用一個沒有壓縮的磁碟,並且直到最近再沒有使用過壓縮。
現在,在正常的情況下,壓縮確實能夠提高系統性能。在一台計算機中,硬碟算得上是運行最慢的部分了。然而,如果你能夠壓縮一個文件,你就是減少了它的物理大小,這也將會減少從硬碟中讀取它的時間量。
同時,一個壓縮文件必須在它從磁碟讀取後被解壓。解壓操作通常是佔用內存,並且進程會附帶的使用一些CPU時間。如果你的伺服器運行一個磁碟加強的應用來解決大量的分散文件(不是一個資料庫),執行壓縮能夠提高系統性能。
10.調整伺服器響應
與個人計算機不同的是伺服器並不總是從伺服器的控制台那裡運行應用。那麼,最優化伺服器是將獲得優先權的應用到後台執行。
你可以通過打開伺服器的控制面板,並雙擊系統圖標。當窗口中顯示系統屬性標簽時,轉到「高級」標簽項,找到性能設置部分,並點擊設置按鈕。窗口中將會顯示性能選項屬性標簽。轉到屬性標簽中的高級選項,並確定伺服器設置為後台服務的最佳性能。
❺ 怎樣提高伺服器的可用性
在低檔伺服器中,通常採用以下措施來提高單機的可用性。
1.IDERAID
通過廉價的磁碟版陣列權提供數據冗餘功能。磁碟故障是伺服器硬體故障的主體,故障率高達52%。數據丟失的危害也是驚人的,造成大量時間、人力的浪費。目前IDERAID能夠實現RAID-0、RAID-1、RAID-0+1共三種方式,其中RAID-0不具備數據冗餘功能,但能顯著提高磁碟子系統的性能。
2.ECC技術
可以檢查出兩位內存錯、並能夠糾正一位錯,來保證內存、緩存中數據的高可靠性。
3.伺服器專用電源
可以保證系統有一個潔凈的用電環境,減少各種隱性故障的發生,而劣質電源容易引起各種古怪故障,如電路中的高頻串擾會造成系統經常性的崩潰、低頻震盪則會燒毀電子元器件於無形,這類故障也增加了維修難度。
4.附加措施
如防塵網的設計、多個風扇的散熱(有的伺服器還具有自動調節風扇轉速功能),可以幫助伺服器在普通環境中也能穩定運行。
天互數據 為您解答,希望能幫到你
❻ 電信怎麼提升伺服器
1、將電腦直接接入ADSL貓或LAN線路,即排除網路內其他電腦、設備干擾因素導致您網速變慢,如果測試網速正常,可能因網路設備故障或多台電腦使用導致網速變慢。 2、關閉您ADSL貓或路由器等網路設備無線功能,防止他人盜用或攻擊您的無線網路導致網速變慢,若需要使用無線功能,需要設置無線密碼並定期更換密碼。 3、關閉電腦上後台程序,尤其是一些P2P下載軟體,這些軟體在「盜用」網路帶寬,建議關閉一些陌生的進程。 更多關於電信怎麼提升伺服器,進入:https://m.abcgonglue.com/ask/7ef65a1615830842.html?zd查看更多內容
❼ 怎樣提高伺服器的響應速度
提高伺服器響應來速度自是多方面的:
一\伺服器網路資源帶寬.帶寬越高越好.
二\就是從網站優化方面入手.具體包括以下方面
1\優化HTML代碼.盡量不要用TALBE布局.而採用div+CSS方式.這樣可以把網頁體積縮小至少50%.減少網站傳輸量和帶寬點用量
2\網頁中盡量不要用或少用大體積圖片
3\如果用動態程序.要去優化程序,盡量減少伺服器回傳(postback),即減少伺服器資料庫查詢次數,降低伺服器負載
4\如果網站訪問量大.盡量後台生成靜態頁面(目前新浪,搜狐等大型網站都是採用這種方法).但程序寫起來比較麻煩.
❽ 如何提高tomcat伺服器的性能
Tomcat性能調優方案
一、操作系統調優
對於操作系統優化來說,是盡可能的增大可使用的內存容量、提高CPU的頻率,保證文件系統的讀寫速率等。經過壓力測試驗證,在並發連接很多的情況下,CPU的處理能力越強,系統運行速度越快。。
【適用場景】 任何項目。
二、Java虛擬機調優
應該選擇SUN的JVM,在滿足項目需要的前提下,盡量選用版本較高的JVM,一般來說高版本產品在速度和效率上比低版本會有改進。
JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%。
因此對性能要求較高的情況推薦使用 JDK1.6。
【適用場景】 任何項目。
三、Apache集成Tomcat
Web伺服器專門處理HTTP請求,應用伺服器是通過很多協議為應用提供商業邏輯。雖然Tomcat也可以作web伺服器,但其處理靜態html的速度比不上Apache,且其作為web伺服器的功能遠不如Apache,因此把Apache和Tomcat集成起來,將html和Jsp的功能部分進行明確分工,讓Tomcat只處理Jsp部分,其他的由Apache,IIS等web伺服器去處理,由此大大提高Tomcat的運行效率。
如果一個項目中大量使用了靜態頁面、大量的圖片等,並有有較大的訪問量,推薦使用Apache集成Tomcat的方式來提高系統的整體性能。
Apache和Tomcat的整合有三種方式,分別是JK、http_proxy和ajp_proxy.其中JK方式是最常見的方式,JK本身有兩個版本分別是1和2,目前1最新版本是1.2.8,而版本2早已經廢棄了。http_proxy是利用Apache自帶的mod_proxy模塊使用代理技術來連接Tomcat。Ajp_proxy連接方式其實跟http_proxy方式一樣,都是由mod_proxy所提供的功能。只需要把配置中的http://換成ajp://,同時連接的是Tomcat的AJP Connector所在的埠。
相對於JK的連接方式,後兩種在配置上比較簡單的,靈活性方面也一點都不遜色。但就穩定性而言不像JK這樣久經考驗,所以建議採用JK的連接方式。
Apache+JK+Tomcat配置:
使用到的兩個配置文件分別是:httpd.conf和mod_jk.conf。其中httpd.conf是Apache伺服器的配置文件,用來載入JK模塊以及指定JK配置文件信息。mod_jk.conf是到Tomcat伺服器的連接定義文件。
【部署步驟】
1.安裝Apache伺服器
2.部署Tomcat
3.將mod_jk.so拷貝到moles目錄下面
4.修改httpd.conf和mod_jk.conf
【適用場景】 大量使用靜態頁面的應用系統。
四、Apache和Tomcat集群
對於並發要求很高的系統,我們需要採取負載均衡的方式來分擔Tomcat伺服器的壓力。負載均衡實現大概有四種:第一是通過DNS,但只能簡單的實現輪流分配,不能處理故障;第二是基於MS IIS,windows 2003 server本身就帶了負載均衡服務;第三是硬體方式,通過交換機功能或專門的負載均衡設備來實現;第四種是軟體的方式,通過一台負載均衡伺服器進行,上面安裝軟體。使用Apache Httpd Server做負載均衡器,Tomcat集群節點使用Tomcat就可以做到上述第四種方式,這種方式比較靈活,成本相對比較低,另外一個很大的優點就是可以根據應用情況和伺服器的情況做一些靈活的配置。所以推薦使用Apache+Tomcat集群來實現負載均衡。
採用Tomcat集群可以最大程度的發揮伺服器的性能,可以在配置較高的伺服器上部署多個Tomcat,也可以在多台伺服器上分別部署Tomcat,Apache和Tomcat整合的方式還是JK方式。經過驗證,系統對大用戶量使用的響應方面,Apache+3Tomccat集群> Apache+2Tomcat集群 > Apache集成Tomcat > 單個Tomcat。並且採用Apache+多Tomcat集群的部署方式時,如果一個Tomcat出現宕機,系統可以繼續使用,所以在硬體系統性能足夠優越的情況下,需要盡量發揮軟體的性能,可以採用增加Tomcat集群的方式。
Apache+Tomcat集群的方式使用到得配置文件有httpd.conf、mod_jk.conf、workers.properties。其中mod_jk.conf是對JK信息的配置,包括JK的路徑等,workers.properties配置文件是對Tomcat伺服器的連接定義文件。
Apache需要調整運行參數,這樣才能構建一個適合相應網路環境的web服務。其中可進行的優化配置如下:
1. 設置MPM(Multi Processing Moles多道處理模塊)。ThreadPerChild,這個參數用於設置每個進程的線程數,在Windows環境下默認值是64,最大值是1920,建議設置為100-500之間,伺服器性能高的話值大一些,反之小一些。MaxRequestPerChild表示每個子進程能夠處理的最大請求數。這個參數的值更大程度上取決於伺服器的內存,如果內存比較大的話可以設置為很大的參數,否則設置一個較小的值,建議值是3000.
2. 關閉DNS和名字解析 HostnameLookups off
3. 打開UseCanonicalName模塊 UseCanonicalName on
4. 關閉多餘模塊 一般來說,不需要載入的模塊有,mod_include.so、mod_autoindex.so、mod_access.so、mod_auth.so.
5. 打開KeepAlive支持
KeepAlive on, KeepAliveTimeout 15 MaxKeepAliveRequests 1000
根據實際經驗,通過Apache和Tomcat集群的方式提高系統性能的效果十分明顯,這種方式可以最大化的利用硬體資源,通過多個Tomcat的處理來分擔單Tomcat時的壓力。
【部署步驟】
1.安裝Apache伺服器
2.部署Tomcat集群,即多個相同的Tomcat。
3.將mod_jk.so拷貝到moles目錄下面
4.修改httpd.conf、mod_jk.conf和workers.properties
【適用場景】 並發用戶量及在線使用用戶數量比較高的系統。
五、Tomcat自身優化
1. JVM參數調優:-Xms<size> 表示JVM初始化堆的大小,-Xmx<size>表示JVM堆的最大值。這兩個值的大小一般根據需要進行設置。當應用程序需要的內存超出堆的最大值時虛擬機就會提示內存溢出,並且導致應用服務崩潰。因此一般建議堆的最大值設置為可用內存的最大值的80%。在catalina.bat中,設置JAVA_OPTS='-Xms256m -Xmx512m',表示初始化內存為256MB,可以使用的最大內存為512MB。
2. 禁用DNS查詢
當web應用程序向要記錄客戶端的信息時,它也會記錄客戶端的IP地址或者通過域名伺服器查找機器名轉換為IP地址。DNS查詢需要佔用網路,並且包括可能從很多很遠的伺服器或者不起作用的伺服器上去獲取對應的IP的過程,這樣會消耗一定的時間。為了消除DNS查詢對性能的影響我們可以關閉DNS查詢,方式是修改server.xml文件中的enableLookups參數值:
Tomcat4
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="80" minProcessors="5" maxProcessors="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />
Tomcat5
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true"/>
3. 調整線程數
通過應用程序的連接器(Connector)進行性能控制的的參數是創建的處理請求的線程數。Tomcat使用線程池加速響應速度來處理請求。在Java中線程是程序運行時的路徑,是在一個程序中與其它控制線程無關的、能夠獨立運行的代碼段。它們共享相同的地址空間。多線程幫助程序員寫出CPU最大利用率的高效程序,使空閑時間保持最低,從而接受更多的請求。
Tomcat4中可以通過修改minProcessors和maxProcessors的值來控制線程數。這些值在安裝後就已經設定為默認值並且是足夠使用的,但是隨著站點的擴容而改大這些值。minProcessors伺服器啟動時創建的處理請求的線程數應該足夠處理一個小量的負載。也就是說,如果一天內每秒僅發生5次單擊事件,並且每個請求任務處理需要1秒鍾,那麼預先設置線程數為5就足夠了。但在你的站點訪問量較大時就需要設置更大的線程數,指定為參數maxProcessors的值。maxProcessors的值也是有上限的,應防止流量不可控制(或者惡意的服務攻擊),從而導致超出了虛擬機使用內存的大小。如果要加大並發連接數,應同時加大這兩個參數。web server允許的最大連接數還受制於操作系統的內核參數設置,通常Windows是2000個左右,Linux是1000個左右。
在Tomcat5對這些參數進行了調整,請看下面屬性:
maxThreads Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創建的最大的線程數。
acceptCount 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。
connnectionTimeout 網路連接超時,單位:毫秒。設置為0表示永不超時,這樣設置有隱患的。通常可設置為30000毫秒。
minSpareThreads Tomcat初始化時創建的線程數。
maxSpareThreads 一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。
最好的方式是多設置幾次並且進行測試,觀察響應時間和內存使用情況。在不同的機器、操作系統或虛擬機組合的情況下可能會不同,而且並不是所有人的web站點的流量都是一樣的,因此沒有一刀切的方案來確定線程數的值。
六、APR庫使用
Tomcat中使用APR庫,其實就是在Tomcat中使用JNI的方式來讀取文件以及進行網路傳輸。可以大大提升Tomcat對靜態文件的處理性能,同時如果你使用了HTTPS方式傳輸的話,也可以提升SSL的處理性能。
一般在Windows下,可以直接下載編譯好的二進製版本的dll庫文件來使Tomcat啟用APR,一般建議拷貝庫文件tcnative-1.dll到Tomcat的bin目錄下。而在Linux下,可以直接解壓和安裝bin目錄下的tomcat_native.tar.gz文件,編譯之前要確保apr庫已經安裝。
怎麼才能判斷Tomcat是否已經啟用了APR庫呢?方法是通過看Tomcat的啟動日誌:
如果沒有啟用APR,則啟動日誌一般有這么一條:
org.apache.coyote.http11.Http11Protocol start
如果啟用了APR,則這條日誌就會變成:
org.apache.coyote.http11.Http11AprProtocol start
tcnative-1.dll 下載地址:http://tomcat.heanet.ie/native/
調優綜述
根據以上分析,如果想要Tomcat達到最優的效果,首先要爭取使得操作系統以及網路資源達到最優,並且最好使用高版本的JDK。對於有大量靜態頁面的系統,採用Apache集成Tomcat的方式,把靜態頁面交由Apache處理,動態部分交由Tomcat處理,能極大解放Tomcat的處理能力。使用ARP庫也能極大的提高Tomcat對靜態文件的處理能力。對於並發要求較高的系統,採用Apache加Tomcat集群的方式,將負載分別分擔到多個Tomcat上,能很大的提高系統的性能,充分利用硬體資源。同時需要對Tomcat自身進行優化,包括增大內存、調節並發線程數等。
❾ 如何提升伺服器的速度
你好來.我來解答下你的問自題.
影響伺服器運行速度的因素是多方面的.比如說伺服器的配置.帶寬.所在機房網路環境.所用的網站程序.是否中病毒木馬等.如果你的伺服器是用的WIN系統.建議像平時優化自己電腦一樣.可以從以下幾個方面來優化提升性能:
一.藉助於一些電腦管家.安全衛士等軟體直接優化系統.
二.ASP的網站直接用IIS即可發布.不需要再配置PHP.NET等其他網站環境.安裝的資料庫太多也會降低伺服器性能.
三.建議沒用的軟體以及程序刪除掉.平時養成好的操作習慣.可以不用安裝殺軟.
四.定期更新系統補丁.並進行病毒和木馬的掃描.
五.平時留意CPU.內存.以及帶寬的佔用情況.當配置不夠用時及時升級.
海騰數據楊闖為你解答.希望以上回答對你有幫助.
❿ 電信如何提升伺服器
1、將電腦直接接入ADSL貓或LAN線路,即排除網路內其他電腦、設備干擾因素導致您網速變慢,如果測試網速正常,可能因網路設備故障或多台電腦使用導致網速變慢。
2、關閉您ADSL貓或路由器等網路設備無線功能,防止他人盜用或攻擊您的無線網路導致網速變慢,若需要使用無線功能,需要設置無線密碼並定期更換密碼。
3、關閉電腦上後台程序,尤其是一些P2P下載軟體,這些軟體在「盜用」網路帶寬,建議關閉一些陌生的進程。
更多關於電信怎麼提升伺服器,進入:https://m.abcgonglue.com/ask/7ef65a1615830842.html?zd查看更多內容