伺服器環境如何提升
1. 如何提高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自身進行優化,包括增大內存、調節並發線程數等。
2. 如何升級伺服器系統環境為php5.4,並安裝zend loader
最近zend發布了支持php5.4的ZendGuardLoader,以前一直只支持5.3,因為一個vps的環境是php5.4,毫不猶豫的想應該進行安裝ZendGuardLoader,首先下載ZendGuardLoader,官方要進行注冊才能下載,所以請下載我這里現成的for32位!
ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386.tar.gz
解壓後將 ZendGuardLoader.so 上傳到伺服器 /usr/zend/ 目錄
找到你所在環境中的php.ini位置,然後編譯php.ini,在合適的位置加入
[Zend Guard]
zend_extension=/usr/zend/ZendGuardLoader.so
; Enables loading encoded scripts. The default value is On
zend_loader.enable=1
; Optional: following lines can be added your php.ini file for ZendGuardLoader configuration
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
重啟環境,比如/etc/init.d/httpd restart,至此ZendGuardLoader搞定.
3. 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培訓官網。最後祝願小夥伴們工作順利!
4. 如何配置優化環境,讓wordpress訪問提速
首先我們要知道適用於其他類型網站的加速優化方法同樣適用於wordpress博客;
再次要知道用戶網頁載入時間分為三部分:①網頁執行時間 ②頁面及頁面元素載入時間 ③瀏覽器渲染網頁時間 ,
針對這三部分時間,wordpress加速方法按加速的方式可以分為:
1、php代碼層次加速
2、html代碼層次加速
3、伺服器層次加速
4、間接wordpress加速方法
一.php代碼層次加速WordPress
所謂「php代碼層次」是指php執行效率,執行查詢數量層次上的優化。有以下幾點:
※控制插件數量
※使用緩存插件
※資料庫查詢緩存
※靜態頁面緩存
※部分頁面緩存
※優化主題
※啟用Gzip壓縮
對於對程序和代碼不太熟悉的站長來說,最省事的方法就是使用WordPress插件,通過插件來對WordPress進行優化,加快WordPress載入速度。從網上瀏覽來看,小生在這里分享幾個被高手們廣泛推薦的wordpress插件。
1、Parallelize
插件的作用如其名,Parallelize的意思即並行。該插件將允許WordPress的附件文件自動並行化(圖片或上傳任何文件使用WordPress的媒體功能)在多個主機名,實現圖片或者文件並行載入,加快頁面載入速度。為了協助緩存,資源將永遠載入相同的主機名。
2、WPFileCache
該插件「實現Object的分級持久化緩存,可以用來代替內置WordPress的WP_Object_Cache。」不像其他緩存插件,該插件不緩存你的整個頁面,它只緩存在插件的API函數中指定的數據。換句話說,它會明顯減少您的資料庫的負載,從而加快頁面載入和增加你的博客的整體性能。
3、QuickCache
QuickCache實時緩存博客的所有內容包括頁面、文章、分類頁面,以幫助快速讀取數據,加快WordPress載入速度。你可以進入插件設置頁面進行必要的設置,選擇你認為需要緩存的部分來優化你的WordPress載入速度。默認情況下,對於登陸用戶和最近留言用戶是不會緩存。
4、W3TotalCache
這個插件在WordPress緩存插件中排行前三,可以緩存博客的所有內容,加快WordPress載入速度,優化伺服器性能。開發者甚至保證經過W3TotalCache全面優化後性能至少可達到10倍的提高。相信可以為博客省不少帶寬。
5、WPMinify
WPMinify,一個常見的WordPress插件,網上很多介紹和推薦它的文章。該插件的原理是在不改變功能的情況,刪除源代碼中不必要的字元以減少文件體積加快WordPress的載入速度。WPMinify將合並和壓縮WordPress的JavaScript,CSS和HTML文件,這有助於大大降低WordPress載入時間。
6、WPSmush.it
是一款被廣泛推薦的wordpress圖片壓縮插件。圖片的載入是博客流量的重要部分,而未經過壓縮優化的圖片不但會大大消耗博客的流量還會影響WordPress的載入速度。值得注意的是,它的壓縮是「無損壓縮」,也就是說,經過它壓縮的圖片絕對不會失真,所以,壓縮程度比Parallelize插件的壓縮方法稍差。可以上傳本地圖片,也可以輸入網頁上圖片的鏈接,同時支持多圖片處理。最新版本的WPSmush.it更是可以完成整站圖片無損壓縮。 6 f9 R( g: W8 K- B
7、WPSuperCache
WPSuperCache是WordPress官方開發人員Donncha開發,是當前最高效也是最靈活的WordPress靜態緩存插件。它把整個網頁直接生成HTML文件,這樣Apache就不用解析PHP腳本,通過使用這個插件,能使得WordPress博客顯著的提速。對於的WPSuperCache設置,網上都有教程,可以按照方法安裝和設置。
8、HyperCache
如果WordPress博客託管在一個低配置的虛擬主機上,該插件非常適合。HyperCache是就好像PC的優化工具,只是它優化的是博客。該插件相對於前面提到的W3TotalCache易於配置使用。它不僅可以緩存你的網站加快WordPress載入速度,它甚至還可以自動清理你的系統,以幫助減少磁碟的使用和節省存儲空間。
9、CDNTools
CDN的全稱是ContentDeliveryNetwork,即內容分發網路。其基本思路是盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。而這個插件的目的是通過載入到一個內容分發網路(CDN)的數據,大大加快您的博客的載入時間。它可以讓你載入Javascript和媒體文件到外部伺服器頁面,使載入速度大幅提升。
10、WP-Optimize
WP-Optimize是一個WordPress資料庫優化插件,可以對刪除文章歷史記錄、刪除自動保存草稿、刪除未審核和垃圾評論、優化MySQL資料庫等,對WordPress的資料庫進行必要的優化,可以優化資料庫加快資料庫查詢速度和節省資料庫空間。
安裝並啟用該插件,WP後台WP-Optimize管理面板有如下選項:
Remove all Post revisions(刪除所有文章修訂版本)
Remove all auto draft posts(刪除所有自動保存的草稿文章)
Clean marked Spam comments(清除標記為垃圾郵件的評論)
Clean Unapproved comments(清理未經批準的評論)
Optimize database tables(優化資料庫表)
選中需要進行的操作點擊「PROCESS」按鈕即可!
二.html代碼層次加速WordPress
相比php代碼層次加速WordPress,html層次上的優化更加重要一些。因為現在的伺服器配置都不錯,php執行效率也很高,除非你的WordPress插件多得太離譜,在速度上一般是不會有太多大的影響的(基本上1m以內可以執行完)。而html代碼決定了WordPress載入的速度,瀏覽你博客的速度在很大程度上是這個因素決定的(在同樣的網路環境下),用戶載入網頁的時間有80%花在這上面。要想你的WordPress飛速跑起來,html層次的優化是非常必要的。 + H! X+ M2 p5 x( V
Make Fewer HTTP Requests–減少HTTP請求的數量
Compress Components With Gzip–用Gzip壓縮網頁
Put CSS at Top & Put Js at Bottom–把CSS放在開頭,把JS放在結尾
Avoid CSS Expressions–CSS中不要使用表達式
Make CSS and JS External–不要把CSS和js直接寫入網頁中,應載入外部
Rece DNS Lookups–減少DNS查詢的數量 )
Minify Javascript and CSS–去除JS和CSS中的冗餘
Avoid URL Redirecting–減少重定向
Used Cookie Free Domains–用不會傳遞Cookie的域名
三.伺服器層次加速WordPress
部分站長有自己的獨立伺服器或者VPS,這一部分是針對VPS或者獨立伺服器的。
※使用輕量級、高性能的Nginx
※PHP位元組碼緩存組件apc
※為網頁靜態元素設置過期時間(以Nginx為例)
※增加Etags
※其它負載均衡方法
四.間接wordpress加速方法
即鼓勵和提醒訪問用戶放棄IE,使用FireFox、Opera、Chrome等高性能瀏覽器,間接加速WordPres
5. 如何優化python環境web伺服器
CGI是最老的WEB技術。使用標准輸入輸出,直接生成網頁。asp與php接近。換成解釋輸出。jsp,略進一步,基本上與php相近。後面是servlet技術。python支持psp方式。也支持CGI,還支持mod_python(有些象是WEB服務插件),也支持fastcgifastcgi與servlet相似。都需要有一個應用伺服器,通過一個埠與web伺服器連接。連接協議有多樣。最近2年python往往使用wsgi協議。這個似乎比fastcgi更易用。python做web開發還有一種單腳本web伺服器。比如bottle,flask等。python也支持多進程方式WEB服務。可以進一步提高並發量。
6. 如何快速搭建伺服器環境
如果不會或者不方面,伺服器的環境可直接找IDC服務商幫忙搭建的,我們這邊提供免費的搭建服務,海騰王淼為你服務
7. 機房伺服器運行環境要求
1、溫度。空調用來控制數據中心的溫度和濕度,製冷與空調工程協會的「數據處理環境熱准則」建議溫度范圍為20-25℃(68-75℉),濕度范圍為40-55%,適宜數據中心環境的最大露點溫度是17℃。
2、電源。機房的電源由一個或多個不間斷電源(UPS)和/或柴油發電機組成備用電源。為了避免出現單點故障,所有電力系統,包括備用電源都是全冗餘的。
對於關鍵伺服器來說,要同時連接到兩個電源,以實現N+1冗餘系統的可靠性。靜態開關有時用來確保在發生電力故障時瞬間從一個電源切換到另一個電源。
3、地板。機房的地板相對瓷磚地板要提升60厘米(2英尺),這個高度隨社會發展變得更高了,是80-100厘米,以提供更好的氣流均勻分布。這樣空調系統可以把冷空氣也灌到地板下,同時也為地下電力線布線提供更充足的空間。
4、防火系統。機房的防火系統包括無源和有源設計,以及防火行動執行計劃。通常會安裝煙霧探測器,在燃燒產生明火之前能夠提前發現火警。
(7)伺服器環境如何提升擴展閱讀:
管理要求:
機房管理是項看得見、摸得著的實際工作,面對諸多因素和關系,必須「嚴」字當頭。首先是部門領導和機房的管理人員一定要有從嚴管理的指導思想。
新建機房從一開始使用就要嚴格管理、嚴格要求,並使這種嚴格思想貫徹落實到管理工作的全過程和機房使用的始終。在實際工作中要常講、常查,要不怕得罪人,必要時還要制定各種獎懲措施。
8. 伺服器百問百答,滿足客戶對系統可用性和穩定性的嚴格需求,伺服器如何能夠在比較惡劣的環境下正常運行
所謂刀片伺服器是指在標准高度的機架式機箱內可插裝多個卡式的伺服器單元,實現高可用和高密度。每一塊"刀片"實際上就是一塊系統主板。它們可以通過"板載"硬碟啟動自己的操作系統,如Windows NT/2000、Linux等,類似於一個個獨立的伺服器,在這種模式下,每一塊母板運行自己的系統,服務於指定的不同用戶群,相互之間沒有關聯。不過,管理員可以使用系統軟體將這些母板集合成一個伺服器集群。在集群模式下,所有的母板可以連接起來提供高速的網路環境,並同時共享資源,為相同的用戶群服務。在集群中插入新的
"刀片",就可以提高整體性能。而由於每塊"刀片"都是熱插拔的,所以,系統可以輕松地進行替換,並且將維護時間減少到最小。
這些刀片伺服器在設計之初都具有低功耗、空間小、單機售價低等特點,同時它還繼承發揚了傳統伺服器的一些技術指標,比如把熱插拔和冗餘運用到刀片伺服器之中,這些設計滿足了密集計算環境對伺服器性能的需求;有的還通過內置的負載均衡技術,有效地提高了伺服器的穩定性和核心網路性能。而從外表看,與傳統的機架/塔式伺服器相比,刀片伺服器能夠最大限度地節約伺服器的使用空間和費用,並為用戶提供靈活、便捷的擴展升級手段。
刀片伺服器的特點
刀片伺服器公認的特點有兩個,一是克服了晶元伺服器集群的缺點,被成為集群的終結者;另一個是實現了機櫃優化。
集群終結者
眾所周知,作為一種負載均衡技術,伺服器集群已經在有效提高系統的穩定性和核心網路服務的性能方面被廣泛採用,在集群系統中,若要提供更高端的運算和服務性能,只需增加更多的單元就可以獲得更高的性能。更為重要的是,伺服器集群還可以為任何一台單獨的伺服器提供冗餘和容錯功能。
目前IT行業正在大力發展適應寬頻網路、功能強大可靠的計算機。在過去的幾年裡,寬頻技術極大地豐富了信息高速公路的傳輸內容。伺服器集群和 RAID技術的誕生為計算機和數據池的互聯網應用提供了一個新的解決方案,而其成本卻遠遠低於傳統的高端專用伺服器和大型機。但是,伺服器集群的集成能力低,管理這樣的集群使很多管理員非常頭疼。尤其是集群擴展的需求越來越大,維護這些伺服器的工作量簡直不可想像,包括伺服器之間的內部連接和擺放空間的要求。這些物理因素都限制了集群的擴展。刀片伺服器的出現適時地解決了這些問題。在集群模式下,刀片伺服器所有的主板可以連接起來提供高速的網路環境,共享資源。同時每個刀片都可內置監視器和管理工具軟體,配置一台高密度伺服器就可以解決一台到一百台伺服器的管理問題,如果需要增加或者刪除集群中的伺服器,只要插入或拔出一塊板即可,將維護時間減少到最小。就這個意義上來說,Blade Server從根本上克服了伺服器集群的缺點。
實現機櫃優化
從某一角度而言,刀片伺服器實現了機櫃優化的自然飛躍。刀片伺服器將機櫃式伺服器所佔用的空間密度再一次提高了50%。資料顯示,在機櫃系統配置好的前提下,將1U機架優化伺服器系統移植到刀片伺服器上,所佔用的空間只是原來的1/3~1/2。而在一個標準的機櫃式環境里,刀片伺服器的處理密度要提高四到五倍。比如在處理1024節點的高密度計算伺服器環境里,1U配置需要24個機櫃,其中不包括乙太網交換集線器所佔用的機櫃空間,而採用插有8個 "刀片"的刀片伺服器,只需要9個機櫃,卻包括了乙太網交換機的空間。在相同的面積內,數據中心可以通過部署刀片伺服器獲得8倍於機架式伺服器的伺服器租賃收益。
另外,刀片伺服器採用集中管理的方式,可以簡化伺服器的管理工作。在IT人員日益匱乏的今天,採用刀片伺服器的企業可以減少雇傭工資高昂的伺服器管理和維護人員,從而降低維護費用。還有,刀片伺服器的低功耗設計也會顯著減少能耗,節約能源的同時減少了費用。
作為一種新興的伺服器產品,讀者可能還缺乏對它的直觀認識。每台刀片伺服器一般由機櫃和刀片組成,因此刀片伺服器的標識由機櫃的型號和刀片的型號共同構成,而不像以往的伺服器那樣由一個單一的伺服器型號所代表。刀片通過機櫃背板上的CompacPCI介面與之相連接。伺服器機櫃一般可以容納8片至數十片刀片。刀片以伺服器刀片為主,而每個伺服器刀片都是一個功能完整的伺服器。
在此,我們以一款常見的一種刀片伺服器向大家介紹一下,以了解其基本構成。
根據所需要承擔的伺服器功能,刀片伺服器被分成伺服器刀片、網路刀片、存儲刀片、管理刀片、光纖通道SAN刀片、擴展I/O刀片等等不同功能的相應刀片伺服器。
目前最為常見的伺服器刀片一般採用1顆為的Intel Pentium Ⅲ處理器,並採用ServerWorks LC-E晶元組、Intel 815晶元組、Via Pro266晶元組,支持的內存容量和類型由晶元組決定,內存類型一般為具有ECC功能的SDRAM或DDR。由於刀片伺服器的散熱問題較為嚴重,在設計中也有廠商採用了低功耗的Transmeta 5600處理器。目前,HP、Sun也正致力於把它們的RISC處理器製作成伺服器刀片,只是尚未面世。
除連接機櫃背板的介面外,伺服器刀片上一般還具有一個PMC擴展介面,可以連接PMC介面的擴展卡,如SCSI卡、光纖存儲卡等,其功能相當於 PCI擴展槽,只是相應介面的擴展卡價格略貴。伺服器刀片採用與筆記本電腦相同規格的65mm(2.5英寸)硬碟,一般只安裝操作系統和簡單的應用軟體,性能較低。
網路刀片
網路刀片的功能相當於區域網交換機,從而提供良好的網路監控和管理功能。網路刀片普遍提供10/100Mbps埠,以雙絞線的方式連接伺服器刀片,對外提供高速上連通道(千兆埠)。採用NAS存儲方式的刀片伺服器經常會配備2個網路刀片,其中一個專門用於連接NAS設備。每個刀片支持 10/100/1000M乙太網連接,並且可以在背板上安裝10/100/1000M的2-4層交換機,這樣就可以把系統中每個槽位上安裝的刀片與交換機連接起來,提供一個基於IP的交換網路。通過集成這種匯流排,刀片伺服器系統可以很好地集成IP業務和語音業務,提供各種不同的電信增值服務。
存儲刀片
存儲刀片可以被視為一個硬碟模塊,通過背板匯流排或者硬碟介面線向伺服器刀片提供存儲功能。存儲刀片上一般配備2塊性能較高90mm(3.5英寸)硬碟,介面類型有IDE、SCSI和光纖通道(Fiber Channel)介面。
管理刀片
第一代刀片伺服器的KVM(Keyboard、VGA、Mouse)刀片可以說是功能最為簡單的管理刀片,提供對所有伺服器刀片的管理控制。 KVM刀片,提供鍵盤、滑鼠、顯示器介面,KVM刀片經常還包括軟碟機和光碟機,便於使用者直接操作伺服器刀片。KVM刀片上提供切換開關,用於在機櫃上的不同刀片之間或者不同機櫃之間進行切換。第二代刀片伺服器具備更加強大的管理功能,但是各家產品各不相同。管理刀片往往通過伺服器刀片上集成的監控管理晶元進行1台或多台刀片伺服器的集中監控和管理。管理刀片向伺服器機櫃內的其他刀片提供必要的配置信息,並在某些刀片發生故障時接收報警信息,並向監控程序發出報警。
CompactPCI :刀片伺服器的標准
CompactPCI開放式標准架構很好地平衡了業界標准,包括硬體、操作系統、應用開發工具、能快速有效開發高利潤的電信增值服務,同時使傳統上以專有軟硬體架構為主的電信建設轉型,能享受開放系統帶來成本大幅降低及大眾化業界標准操作系統的好處。這一轉變讓設備及服務供應商找到了數以百萬計的開發者,並開始採用具高可靠性、高擴展性和高性能的CompactPCI寬頻通訊平台。
CompactPCI匯流排標準是建立刀片伺服器的基礎。它是惟一的標准,同時也是標准紛爭的起源。CompactPCI目前有2個主要的版本,即 1.0版和2.0版,它們在介面定義的完善程度上不盡相同。早期的刀片伺服器全部採用CompactPCI 1.0的標准,背板帶寬也限定在32位PCI之內,這些產品屬於第一代刀片伺服器。2002年最新推出的刀片伺服器部分採用CompactPCI 2.0標准,背板支持64位PCI通信,稱之為第二代刀片伺服器。由於標準的版本不同,兩代刀片伺服器之間不能完全兼容。
目前為止,只有HP一家聲稱完全按照CompactPCI標准設計刀片伺服器,而其他伺服器廠商只是在匯流排和介面標准方面遵循CompactPCI,在刀片的尺寸上沒有完全按照該標准去執行。
應用模式指南
刀片伺服器的應用很廣泛,尤其是對於計算密集型應用,比如天氣預報建模、數據採集、數據模擬、數字影象設計、空氣動力學建模等等。而對於行業應用,如電信、金融、 IDC/ASP/ISP應用、行動電話基站、視頻點播、Web主機操作及實驗室系統等,刀片伺服器依然能大顯身手。刀片伺服器的出現使其在2001年底的伺服器市場上占據一塊相對於機架式伺服器來說不算小的市場份額。而隨著2002年技術的發展尤其是InfiniBand技術開始扮演重要角色,刀片伺服器將逐漸成為主流伺服器並占據較大的市場份額。
刀片伺服器的使用范圍相當廣泛。下面我們列出兩個典型的應用模式進行簡單的介紹。
應用模式1:網站Web伺服器
這種方式可充分發揮刀片伺服器密度高、可群集以及可遠程管理的優勢。網站可以用刀片伺服器組成高密度的群集,用來實現高訪問量的Web伺服器,後端再連接中高端的伺服器或群集系統作為資料庫伺服器。存儲服務提供商可以採用同樣的前端方案,後端配合NAS設備來提供存儲服務。與普通機架伺服器相比,刀片伺服器在這類應用中的優勢在於佔用機位少,可有效節省託管費用。
應用模式2:中小企業網路伺服器
當前的企業網路需求是多方面的,需要類型多樣的服務,其中有些服務可以安裝在一台機器上,而有些則需要使用至少一台備份機器或者群集。與之相對應,任何一個刀片系統既可以獨立運行,也可以與其他伺服器組成群集或互為備份。根據企業的實際需要進行搭配。這種方式可充分發揮刀片伺服器易管理、配置靈活和可擴展性好的優勢。使用刀片伺服器進行群集並與存域網相結合,這可以勝任大數據量吞吐的資料庫並行處理。對於企業來說,這種高密度不僅節約了寶貴的機櫃空間,還節約了布線成本,並可節電,從而降低對UPS的要求。
9. 新手求助,怎麼設置伺服器環境
1.下載安裝後,會一鍵安裝PHP、Mysql、Zend、PhpMyadmin、ftp、Jmail 等各種組件,
正常使用就夠了。不用管,完全傻瓜化。
2.打開主程序--創建站點--然後輸入ftp 賬號,密碼。綁定域名、設置空間大小(0 為不限
你的程序就哦了~然後點擊創建。過一會兒就提示一個,創建成功,同名myasql 資料庫也創
建成功了、然後把資料庫用戶名密碼一復制。
3.把你的程序放在根目錄下。例如我創建的ftp 賬號是,網站目錄名字就是,
網站所有的程序要放在 文件夾下的wwwroot 下邊,如果直接放在 文件夾下會出
現許可權問題。如果全部放置正確,出現網頁打開提示許可權的問題,點擊相應的網站重置許可權即可~~安裝cms,一路下去基本都ok 了。超級簡單,超級方便。此工具是免費版的 和收費版
唯一區別就是添加網站有限制只能弄60 個,收費也不貴。收費的有技術支持,免費的沒有
而已,工具只能再windos 伺服器上使用,下載的時候也區分下你的是32 位還是64 位的。
liunx 也有但是只能再西部數碼的vps 和伺服器上用。
雖然聽過 N 點虛擬主機之類的但是沒用過,華夏好像自己也有,但是貌似不給力。畢
給力!每一次的遇到的困難都會讓自己進步,