欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
如何對512M內存的vps apache進(jìn)行優(yōu)化配置(perfork模式)
如何對512M內存的vps apache進(jìn)行優(yōu)化配置(perfork模式)

 本文是對512M 內存并裝有apache的vps進(jìn)行優(yōu)化,請不要跟我說(shuō)裝nginx就強多了,確實(shí)如此,但是你這樣說(shuō)的話(huà),這篇文章就沒(méi)什么意義了,哈哈。那么進(jìn)入正題吧!

操作系統(linux):CentOS 5.5 32位(并不是我說(shuō)這個(gè)比較好,只是Cents我用得比較熟練)

  • 內存:512M
  • cpu:1G(1000MHz,vps實(shí)際有沒(méi)有這個(gè)數,很難說(shuō))
  • apache:2.2(建議低版本的,升級到高版本,畢竟舊版有很多問(wèn)題,且性能也是高版本好點(diǎn))

運行的主要是PHP程序,其他的不多說(shuō)了,與本文關(guān)系不大。

首先,如題所說(shuō),本文所說(shuō)的優(yōu)化是針對apache 2.2以上版本,及使用perfork MPM模式的。perfork是apache在linux下默認安裝下的模式,如果使用apache作為服務(wù)器的放在,還是使用perfork模式比較好,worker模式下對php某些功能并不支持。如果你使用的是win系統或都沒(méi)有使有和perfork,那么下面可以選擇不看或抱著(zhù)學(xué)習的態(tài)度看看咯。

以下內容均屬于博主自己的見(jiàn)解,實(shí)際測試請根據你的服務(wù)器,程序及其他因素按需處理。

一般情況下,我們需要優(yōu)化apache就是因為apache占用大量的內存,導致vps當機,因為perfork是多進(jìn)程處理的,每個(gè)進(jìn)程都會(huì )點(diǎn)用一定的內存數量。所以限制httpd進(jìn)程的數量,從而達到優(yōu)化apache的作用。影響單個(gè)httpd進(jìn)程的內存大小,主要都是加載模塊,至少什么模塊是合適的,我也很難說(shuō),因為這個(gè)是按由你的需要而定的。網(wǎng)上有些人說(shuō),絕大部分都會(huì )用不上的模塊列出來(lái),我認為這個(gè)是有很大的誤導作用,因為絕大部分人中,也許你就是其中一個(gè)。將有用的模塊屏蔽掉,最壞的情況,就是重啟apache出錯,或部分功能無(wú)法使用。所以我也不會(huì )列出什么最少模塊加載方案什么的。所以,我只會(huì )說(shuō)出一些參考。

apache(perfork)下的模塊加載,并不是模塊加載列表,沒(méi)有的模塊并不是屏蔽掉了,只是我也不清楚它的實(shí)際作用。

一、對于apache2.2,模塊名有cache的一般都是有用的,因為有不少的這類(lèi)模板都是2.1以上的apache才支持的,所以這類(lèi)的模塊不會(huì )是無(wú)緣無(wú)緣而存在的。

二、很有可能或必用到的模塊有:

LoadModule auth_basic_module modules/mod_auth_basic.so  LoadModule authn_file_module modules/mod_authn_file.so  LoadModule include_module modules/mod_include.so  LoadModule log_config_module modules/mod_log_config.so  LoadModule expires_module modules/mod_expires.so  LoadModule deflate_module modules/mod_deflate.so  LoadModule headers_module modules/mod_headers.so  LoadModule setenvif_module modules/mod_setenvif.so  LoadModule mime_module modules/mod_mime.so  LoadModule autoindex_module modules/mod_autoindex.so  LoadModule negotiation_module modules/mod_negotiation.so  LoadModule dir_module modules/mod_dir.so  LoadModule alias_module modules/mod_alias.so  LoadModule rewrite_module modules/mod_rewrite.so

三、我粗略點(diǎn)了一下apache里面的模塊約在50+以,要從中選擇人人都適用的模塊加載列表是不可能的,至少cgi模塊我是不會(huì )用,但不排除你不會(huì )用。

模塊加載這一塊就說(shuō)到這里,這個(gè)大家多百度,多用自然會(huì )識別出一些有用模塊并漸漸屏蔽不使用的模塊。

接下來(lái),就是最為重要的perfork配置,也是困擾了我很久的問(wèn)題,盡管參數就那么6個(gè),那是卻足以讓你的vps當機。先列出需要修改的參數,修改位于httpd.conf的文件里面

Timeout 30KeepAlive OnMaxKeepAliveRequests 80KeepAliveTimeout 15<IfModule prefork.c>ServerLimit 150StartServers      5MinSpareServers   5MaxSpareServers   10MaxClients       150MaxRequestsPerChild 4000</IfModule>

上面的代碼就是要修改的,實(shí)際上我們是要修改perfork里在的參數,之所以將Timeout,KeepAlive等也寫(xiě)出來(lái),是因為這個(gè)也是影響apache性能的。

Timeout是一個(gè)連接多少時(shí)間后斷開(kāi),這個(gè)參數設置在30-60是一般的php程序都是適用的,至少要運行一些要占用大量時(shí)間的php程序,那么適當調高也是可以的,但請不要太高,否則會(huì )影響apache性能,本次優(yōu)化我們使用30就很足夠了。

MaxKeepAliveRequests 是一個(gè)連接最大的請求量,對于頁(yè)面有較多的圖片等元素,可以適當調高一點(diǎn),對于一般的網(wǎng)頁(yè)設置在80-120是足夠的,我們就設置為100,如果設置太高會(huì )導致httpd長(cháng)時(shí)間不能退出釋放內存的。

KeepAliveTimeout 是當用戶(hù)處理一次連接時(shí),如果在該參數的時(shí)間內還有請求則會(huì )繼續執行,不需要重新創(chuàng )建新的連接,直到達到MaxKeepAliveRequests的最大值才會(huì )退出。對于perfork模式下的,有人認為是將KeepAlive Off會(huì )比較好,但是對于絕大多數的網(wǎng)站都會(huì )不多不少有些圖片元素,所以將該項打開(kāi),并將KeepTimeOut設置在2-5秒,不但有效提高服務(wù)器性能,也能加快頁(yè)面打開(kāi)速度。

接下來(lái),就是正式進(jìn)入perfork的參數設置了,不想服務(wù)器運行一會(huì )就內存占滿(mǎn)的得看看哦。

首先是參數ServerLimit就是服務(wù)器最大支持同時(shí)連接的客戶(hù)端,該值將決定下面參數MaxClient可以設定的值的范圍。ServerLimit實(shí)際上只是起到一個(gè)限制的作用,并沒(méi)有實(shí)際有作用,也許有,我就不知道了。實(shí)際上起到作用的是,MaxClient參數,但這個(gè)值又受ServerLimit的限制,等下會(huì )講。

另三個(gè)參數StartServers,MinSpareServers,MaxSpareServers,為什么將這三個(gè)參數一起說(shuō)呢,因為這三個(gè)數是聯(lián)系在一起的。這三個(gè)數都是決定空閑進(jìn)程數量,StartServers應該范圍就是MinSpareServers和MaxSpareServers之間。否則,apache會(huì )自動(dòng)將該值還原到兩都之間,所以不要浪費不必要的資源。按照perfork默認的配置,這三個(gè)參數分別為:5,5,10。但是對于只有512M內存的vps來(lái)說(shuō),我認為還是有過(guò)大的負載。因此,我認為在這里應該退一步,將這三個(gè)參數設置為4,4,10,看起來(lái)和上面5,5,10并沒(méi)有什么不同,最大值還是10,但在實(shí)際使用中4,4,10釋放的內存速度會(huì )明顯比5,5,10快很多。

接下來(lái)就是MaxClient最大支持多少客戶(hù)端在同一時(shí)間連接服務(wù)器,簡(jiǎn)單說(shuō)就是最大并發(fā)數支持,這個(gè)沒(méi)有特別需要說(shuō)的。對于512M的vps你也別想你的站能承受百萬(wàn)PV,使用默認的150已是超出負載的了。一般將ServerLimit和MaxClient設為一樣值即可。

最后就是MaxRequestsPerChild參數,一個(gè)進(jìn)程在處理多少次之后退出,設置為0則是無(wú)限次,也就是說(shuō)不會(huì )退出,那么httpd進(jìn)程也不會(huì )退出。那么,你就等著(zhù)你的vps當機重啟去吧。對于這個(gè)參數,我粗略地搜索了一下,不少人推薦在1000次,也有100次的。據我的測試,對于內存只有512M的vps來(lái)說(shuō),該值設置在500以上都會(huì )很快占滿(mǎn)內存,但不至少于當機。而觀(guān)察得知,一但內存占滿(mǎn),cpu的使用率幾乎變?yōu)?了。由此可知,當機了那什么都干不了了,還不如消耗多一點(diǎn)cpu資源避免,提高穩定性。所以,我最后的決定是將該值定義在30-40之間。這樣設定后,可以看出,內存釋放速度得到很大的提升,但也可以看到cpu也在頻繁上下跳動(dòng)。這樣設置,即使內存占滿(mǎn),也能在最短時(shí)間恢復正常。

所以對于512MB的vps,apache(perfork模式)最后的優(yōu)方配置為:

Timeout 30KeepAlive OnMaxKeepAliveRequests 100KeepAliveTimeout 2<IfModule prefork.c>ServerLimit 150StartServers      4MinSpareServers   4MaxSpareServers   10MaxClients       150MaxRequestsPerChild 40</IfModule>

這樣,我們的配置基本完成,進(jìn)行負載測試即可。負載測試,我們使用ab測試,先聲明一點(diǎn),是用你本地的虛擬機去測試服務(wù)器上的一個(gè)靜態(tài)頁(yè)面,而不是在服務(wù)器上測試。之前,我就是這樣做,因為網(wǎng)速一樣,效果都是比較好的,但別人都是不同網(wǎng)速的,所以服務(wù)器上測試是不準備的。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Just 平生一笑: Linux下Apache并發(fā)連接數和帶寬控制
配置Subversion apache驗證|http://www.aspsky.net
Apache安全和強化的十三個(gè)技巧
Subversion版本管理器簡(jiǎn)單配置說(shuō)明
今日頭條
IIS和APACHE共用80端口的方法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久