簡述:對于vps主機來說,內(nèi)存應(yīng)該是最寶貴的資源之一了,內(nèi)存越小價格也就越便宜,普通用戶也越能接受。因此如何有效利用有限的內(nèi)存資源,使vps主機的利用率最大化,能承載更高的并發(fā)數(shù)及負載,這應(yīng)該是所有vps主
對于vps主機來說,內(nèi)存應(yīng)該是最寶貴的資源之一了,內(nèi)存越小價格也就越便宜,普通用戶也越能接受。因此如何有效利用有限的內(nèi)存資源,使vps主機的利用率最大化,能承載更高的并發(fā)數(shù)及負載,這應(yīng)該是所有vps主機用戶都在思考的問題。下面,就結(jié)合我在維護本站時候獲取的一些經(jīng)驗給出一些相應(yīng)的建議,當然這份優(yōu)化建議主要是針對Linux 環(huán)境及WordPress用戶。
- 穩(wěn)定的VPS服務(wù)器
所有的上層內(nèi)容都依托于穩(wěn)定的硬件支持,所以如果你購買的 VPS 主機線路巨慢、三天兩頭掛掉、或者有時 VPS 母機 IO 負載超高,那么,就算再怎么優(yōu)化也沒有任何用處,你整天干的事情就是發(fā) Ticket 找客服解決問題。所以,選購一臺穩(wěn)定快速的 VPS 主機這是最基礎(chǔ)的要求。
- 輕量級 Web Server
Apache 已經(jīng)變得越來越臃腫了,內(nèi)存開銷非常大,所以個人建議用輕量級的 Nginx 服務(wù)器,而對于 WordPress 來說 nginx 已經(jīng)完全夠用了。下面代碼里是適用于 WordPress 3 的 nginx rewirte 規(guī)則,包括 Permalinks rewrite 及 WP-super-cache rewrite 規(guī)則。
#WP Permalinks rewrite rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; if (!-e $request_filename) { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+?(/.*.php)$ $1 last; rewrite ^ /index.php last; } #WP-super-cache rewrite set $wp_super_cache_file ”; set $wp_super_cache_uri $request_uri; if ( $request_method = POST ) { set $wp_super_cache_uri ”; } if ( $query_string ) { set $wp_super_cache_uri ”; } if ( $http_cookie ~* “comment_author_|wordpress|wp-postpass_” ) { set $wp_super_cache_uri ”; } if ( $wp_super_cache_uri ~ ^(.+)$ ) { set $wp_super_cache_file /wp-content/cache/supercache/$; } if ( -f $document_root$wp_super_cache_file ) { rewrite ^(.*)$ $wp_super_cache_file break; } if (-f $request_filename) { expires 30d; break; } if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; }
而 PHP 方面則建議用 PHP-FPM , PHP-FPM 已經(jīng)包含在 PHP 5.3.3 中,對于小內(nèi)存 VPS 用戶建議用靜態(tài)進程方式,也就是固定幾個進程,同時建議少開幾個進程,比如 4-6 個左右。
Ubuntu 上可以用以下命令直接安裝 nginx , php-fpm , mysql 環(huán)境
sudo apt-get install nginx php5 php5-dev php5-fpm php5-mysql mysql-server make
- 充分利用多核
Nginx 在 Linux 上有一個 worker_cpu_affinity 參數(shù),可以為每個工作進程綁定到不同的 CPU ,所以如果你的 VPS 具有多核的話,那么可以充分利用各 CPU 。比如如果有 4 個 CPU,那么可以進行如下配置:
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
最后你可以查看一下 CPU 狀態(tài),測試方法是輸入 top 命令并按 1 。
- MySQL 優(yōu)化
關(guān)掉InnoDB:如果 VPS 只是用來跑 Worpdress 的話,用 MyISAM 存儲引擎就足夠了。你只需在myf加入一行 skip-innodb 就可以把 InnoDB 存儲引擎給關(guān)掉了。這樣也可以省下一定數(shù)量的內(nèi)存。
- 緩存,再緩存
1、啟用 PHP 緩存加速模塊 eAccelerator : 大家都知道, PHP 是動態(tài)腳本語言,每次訪問都會重新編譯執(zhí)行,而 eAccelerator 則可以緩存編譯過的部分 PHP 文件,從而起到提高 PHP 腳本性能及降低系統(tǒng)負載的效果。但需要注意的是,在 nginx + PHP-FPM 環(huán)境下, eAccelerator 無法進行內(nèi)存共享,也就是說 PHP-FPM 的每個進程除了本身所需要的內(nèi)存開銷外,還會加上 eaccelerator.shm_size 參數(shù)中設(shè)定的值,所以我們在設(shè)置時盡量減小 eaccelerator.shm_size 的值,比如設(shè)置為 8 MB ,這樣最多可以緩存 50 多個 php 文件,雖然少了點,但對于 WordPress 來說基本足夠了,這也算是一種節(jié)約資源及增加性能的折中方案。另外,啟用 eaccelerator 后對于訪問速度確實有顯著提高。
2、WordPress 頁面緩存:建議用 Wp-super-cache 插件,這個插件的 nginx rewrite 規(guī)則之前已經(jīng)有提到過。Wp-super-cache 可以起到網(wǎng)頁靜態(tài)化緩存的效果,可以進一步除低系統(tǒng)負載。
3、數(shù)據(jù)庫查詢緩存 : 為了進一步減少數(shù)據(jù)庫查詢次數(shù),就需要用此類插件,這類插件很多,我在用的是 DB Cache Reloaded 。
- WordPress 模版及插件
減少不必要插件以及用簡潔的模版,不要放置大量的圖片,因為一旦圖片一多就會產(chǎn)生更多的 http 連接請求數(shù),導(dǎo)致頁載載入速度變慢,同時也消耗更多的帶寬,畢竟帶寬也是 VPS 的重要資源之一。
水平有限,如有錯誤,敬請指正。如果你有更好的優(yōu)化方案,也請在留言中分享,謝謝!
# 最后介紹一些在線測試及優(yōu)化工具:
Just-Ping : 可以同時獲取世界各地幾十個位置 ping 你主機的值,從而可以判斷 VPS 主機的線路質(zhì)量。
Pingdom : 全頁面載入測試工具,可測試訪問某網(wǎng)頁共發(fā)起了多少請求及每個請求的耗時,從而可以判斷哪些網(wǎng)頁元素比較影響載入速度,對進一步優(yōu)化提供幫助。
測速寶:整體頁面載入及訪問速度測試工具,可以讓國內(nèi)各地的網(wǎng)友幫你測試。
騰佑科技作為國內(nèi)頂級互聯(lián)網(wǎng)基礎(chǔ)應(yīng)用服務(wù)提供商,有自己的自主機房和產(chǎn)權(quán),擁有雙線服務(wù)器,擁有大型的機房三座,順應(yīng)時代發(fā)展和客戶需求,在服務(wù)器托管和服務(wù)器租用方面,具備多項優(yōu)勢,特別適用于對網(wǎng)站運行質(zhì)量有較高要求的用戶。而且有自己成熟的虛擬化技術(shù),虛擬主機租用穩(wěn)定安全,推出了自助建站和智能建站,省去了您建站的煩惱。經(jīng)過一部分客戶的試用,贏得了一致好評。推出cdn加速、機柜租用、帶寬租用等業(yè)務(wù),同時提供域名注冊服務(wù),歡迎廣大客戶來電咨詢。
騰佑科技為了最大限度的滿足了全國各地的客戶對服務(wù)器租用托管的各種需求,使網(wǎng)絡(luò)的傳遞速度更快速更便捷。正是由于它穩(wěn)定、快速的IDC機房服務(wù),騰佑科技才能贏得眾多公司的認可。騰佑科技是你服務(wù)器托管和服務(wù)器租用的最佳的選擇。
由www.mubashirfilms.com提供
搜索詞
熱門產(chǎn)品推薦