国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux中512M VPS內(nèi)存優(yōu)化步驟詳解

2024-08-27 23:59:47
字體:
供稿:網(wǎng)友

VPS本身內(nèi)存就有限如果配置不好肯定背不起什么網(wǎng)站了,在這里小編來為各位介紹linux中512M VPS內(nèi)存優(yōu)化步驟詳解,希望文章對各位有用.

512M的VPS優(yōu)化apache內(nèi)存

查看目前占用內(nèi)存:Ps aux|grep httpd

基本一個占用50M左右:ps aux|grep httpd | wc –l

一共13個,減去grep httpd 那行 12個,說明占用大約600M,超過了服務(wù)器512M內(nèi)存,相比之下nginx主進程占用50M,帶著php-fpm跑,一個fpm占用2M,開啟10個fpm進程,一共70M的內(nèi)存就足夠了.

標(biāo)準(zhǔn)Linux Apache配置在Apache的配置文件在/etc/httpd/conf/httpd.conf,但是lampp的不在httpd.conf里,而是在extra/http-default.conf里面,兩處地方分別對應(yīng)兩個模塊prefork模塊和worker模塊(Apache默認(rèn)啟用的是prefork模塊),根據(jù)自己的服務(wù)器啟用的模塊分別修改對應(yīng)的參數(shù),可以用命令httpd -l查看apache所使用的模塊.

各參數(shù)含義解釋如下:

• StartServers //指定服務(wù)器啟動時建立的子進程數(shù)量,prefork默認(rèn)為5。如果你的內(nèi)存占用過大,可適當(dāng)減小此值。

• MinSpareServers //指定空閑子進程的最小數(shù)量,默認(rèn)為5。如果當(dāng)前空閑子進程數(shù)少于MinSpareServers ,那么Apache將以最大每秒一個的速度產(chǎn)生新的子進程。

• MaxSpareServers //設(shè)置空閑子進程的最大數(shù)量,默認(rèn)為10。如果當(dāng)前有超過MaxSpareServers數(shù)量的空閑子進程,那么父進程將殺死多余的子進程。如果你將該指令的值設(shè)置為比MinSpareServers小,Apache將會自動將其修改成”MinSpareServers+1″。

• MaxClients //限定同一時間客戶端最大接入請求的數(shù)量(單個進程并發(fā)線程數(shù)),默認(rèn)為256。任何超過MaxClients限制的請求都將進入等候隊列,一旦一個鏈接被釋放,隊列中的請求將得到服務(wù)。要增大這個值,你必須同時增大ServerLimit 。

• ServerLimit //默認(rèn)的MaxClient最大是256個線程,如果想設(shè)置更大的值,就的加上ServerLimit這個參數(shù)。20000是ServerLimit這個參數(shù)的最大值。注意,要想此參數(shù)生效:必須放在MaxClients指令的前面。

• MaxRequestsPerChild //每個子進程在其生存期內(nèi)允許伺服的最大請求數(shù)量,默認(rèn)為10000.到達MaxRequestsPerChild的限制后,子進程將會結(jié)束。如果MaxRequestsPerChild為”0″,子進程將永遠不會結(jié)束。建議將此值設(shè)為非零值,可以防止內(nèi)存泄漏以及當(dāng)服務(wù)器負(fù)載減輕的時候減少活動進程的數(shù)量,如果內(nèi)存占用過大,可以減少此值。

worker模塊中多了幾個參數(shù),解釋如下:

• ThreadLimit //每個子進程可配置的線程數(shù)上限。這個指令設(shè)置了每個子進程可配置的線程數(shù)ThreadsPerChild上限。任何在重啟期間對這個指令的改變都將被忽略,但對ThreadsPerChild的修改卻會生效。默認(rèn)值是”64″.

• MinSpareThreads //最小空閑線程數(shù),默認(rèn)值是”75″。這個MPM將基于整個服務(wù)器監(jiān)視空閑線程數(shù)。如果服務(wù)器中總的空閑線程數(shù)太少,子進程將產(chǎn)生新的空閑線程。

• MaxSpareThreads //設(shè)置最大空閑線程數(shù)。默認(rèn)值是”250″。這個MPM將基于整個服務(wù)器監(jiān)視空閑線程數(shù)。如果服務(wù)器中總的空閑線程數(shù)太多,子進程將殺死多余的空閑線程。MaxSpareThreads的取值范圍是有限制的。Apache將按照如下限制自動修正你設(shè)置的值:worker要求其大于等于MinSpareThreads加上ThreadsPerChild的和。

• ThreadsPerChild //每個子進程建立的常駐的執(zhí)行線程數(shù)。默認(rèn)值是25。子進程在啟動時建立這些線程后就不再建立新的線程了。

修改保存之后,要想使配置生效,需先執(zhí)行service httpd stop 然后service httpd start 直接service httpd restart無法使修改過的配置生效!

覺得有必要解釋一下preforx模塊的StartServers、MinSpareServers、MaxSpareServers這幾個參數(shù)的相互關(guān)系,這樣當(dāng)你們的主機內(nèi)存不足的時候,可以根據(jù)你們的實際情況來相應(yīng)的修改這些值!

當(dāng)Apache啟動時,Apache會啟動StartServers個空閑進程同時準(zhǔn)備接收處理請求,當(dāng)多個請求到來時,StarServers進程會越來越少,當(dāng)空閑進程減少到MinSpareServers個時,Apache為了能夠繼續(xù)有充裕的進程處理請求,它會再啟動StartsServers個進程備用,直到剩下的空閑進程數(shù)量到達MaxSpareServers為止,這樣就大大減少了請求隊列等待的可能,使得服務(wù)效率提高,這也是為什么叫做Pre-fork的原因;

  1. <IfModule mpm_prefork_module> 
  2.     StartServers          2 
  3.     MinSpareServers       2 
  4.     MaxSpareServers       4 
  5.     MaxClients          150 
  6.     MaxRequestsPerChild  20 
  7. </IfModule> //Vevb.com

這樣最后一共啟動4個進程,apache一共占用內(nèi)存200M(還是比nginx大好多),對于小網(wǎng)站這么玩,還湊合,流量大了,還是去買個大點內(nèi)存的VPS吧,或者用nginx能好一些.

優(yōu)化數(shù)據(jù)庫mysql,數(shù)據(jù)庫內(nèi)存比較好查看.

Ps aux|grep mysql

直接顯示 占用了300M,實際最大的消耗還是卡在mysql上,php如果有l(wèi)ike查詢,512M的內(nèi)存基本扛不住,而且速度很慢,所以盡可能控制mysql執(zhí)行時間到最短.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 定边县| 阿拉善盟| 福泉市| 南岸区| 南漳县| 云梦县| 丹东市| 邻水| 杭锦后旗| 陆丰市| 宾川县| 榆林市| 高阳县| 义马市| 汕尾市| 孙吴县| 溧阳市| 巴彦淖尔市| 苏尼特右旗| 万宁市| 鹤壁市| 浦东新区| 双鸭山市| 汶上县| 临潭县| 濮阳县| 双柏县| 敖汉旗| 连平县| 五寨县| 芜湖市| 陆川县| 台北市| 镇赉县| 多伦县| 和田县| 北海市| 全州县| 四平市| 渭南市| 甘南县|