<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux網(wǎng)站架構(gòu)系列之a(chǎn)pache----調(diào)優(yōu)篇

          Linux網(wǎng)站架構(gòu)系列之a(chǎn)pache----調(diào)優(yōu)篇

          作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

          ExpiresByType image/png access plus 12 months

          EXpiresByType application/x-shockwave-flash access plus 12 months

          EXpiresByType application/x-javascript access plus 12 months

          ExpiresByType video/x-flv access plus 12 months

          以上三種配置任何一種配置之后,對(duì)apache服務(wù)器進(jìn)行優(yōu)化重啟,然后用火狐或者google游覽器的YSlow插件進(jìn)行緩存效果查看。

          擴(kuò)展:expires模塊的語法

          上面已經(jīng)的操作就是實(shí)現(xiàn)apache的緩存功能。其中,expires后面的參數(shù)你也可以根據(jù)需求自行更改,緩存時(shí)間也是一樣可以更改的。

          這里我對(duì)expires的模塊語法進(jìn)行一些細(xì)說

          expires模塊用到了ExpiresDefault和EXpiresByType兩個(gè)指令,下面是這兩個(gè)指令的語法。

          ExpiresDefault “ [plus] {}*”

          EXpiresByType type/encoding [plus] {}

          其中的參數(shù)有3個(gè):access,now(等價(jià)于‘access’),modification

          plus關(guān)鍵字是可選的。

          必須是整數(shù),確??梢詀toi()所接收。(atoi可以把字符串轉(zhuǎn)換成長(zhǎng)整型數(shù))

          參數(shù)類型:years,months,weeks,days,hours,minutes,seconds

          下面用幾個(gè)例子帶大家理解下

          例如:下面3個(gè)指令都表示文檔默認(rèn)的有效期是一個(gè)月

          ExpiresDefault access plus 1 month

          ExpiresDefault access plus 4 weeks

          ExpiresDefault access plus 30 days

          有效期可以通過增加“”子句進(jìn)一步調(diào)整

          ExpiresByType text/html access plus 1 month 15 days 2 hours

          ExpiresByType image/gif modification plus 5 hours 3 minutes

          注意:如果你使用基于最后修改日期的設(shè)置,“Expires”頭將不會(huì)被添加到那些并非來自于硬盤文件的內(nèi)容,這是因?yàn)檫@些內(nèi)容并不存在“最后修改時(shí)間”的屬性。

          基準(zhǔn)時(shí)刻可以是源文件的最后修改時(shí)刻或者客戶端對(duì)源文件的訪問時(shí)刻,至于使用那一個(gè)則由指定。“M”表示源文件的最后修改時(shí)刻,“A”表示客戶端對(duì)源文件的訪問時(shí)刻,需要注意的是和seconds之間沒有空格。

          這兩個(gè)基準(zhǔn)的差別是很微妙的。如果使用“M”,所有當(dāng)前緩存中的文檔副本都將在同一時(shí)刻過期,這個(gè)可能對(duì)定期更新的URL(比如位于同一位置的每周通告)很有好處。如果使用“A”,則每個(gè)客戶端所得到的有效期是不一樣的,這個(gè)可能對(duì)那些幾乎不更新的圖片很有好處,特別是對(duì)于一組都引用相同圖片的相關(guān)文檔。

          緩存優(yōu)化對(duì)企業(yè)來說是至關(guān)重要了的,不同的公司類型,緩存的類型和時(shí)間又各不相同,大家具體可以用YSlow對(duì)淘寶,京東,新浪,谷歌等站點(diǎn)進(jìn)行測(cè)試,看看他們的緩存時(shí)間是多少,并思考下為什么那樣設(shè)置。

          雖然緩存的設(shè)置有如下優(yōu)點(diǎn)

          1.縮短服務(wù)的響應(yīng)時(shí)間

          2.減輕服務(wù)器負(fù)擔(dān)

          3.減少網(wǎng)絡(luò)帶寬使用量,降低企業(yè)成本

          但是他的缺點(diǎn)也是顯而易見的,由于使用了緩存設(shè)置,導(dǎo)致被緩存的內(nèi)容更新了,但是客戶看到的卻還是舊的。

          如何解決被緩存文件及時(shí)更新這個(gè)問題呢?

          第一種:縮短緩存時(shí)間例如:1天,不徹底犧牲性能

          第二種:對(duì)緩存的對(duì)象改名。

          九、啟用worker模式,提升并發(fā)數(shù)(可以達(dá)到2000-5000)

          apache有兩個(gè)模式,默認(rèn)的模式是prefork模式。那么我們?yōu)槭裁匆褂脀orker模式呢?這兩種模式又有什么區(qū)別呢?

          1、prefork模式

          prefork使用的是多個(gè)子進(jìn)程,而每個(gè)子進(jìn)程只有一個(gè)線程,每個(gè)進(jìn)程在某個(gè)確定的時(shí)間只能維持一個(gè)連接。

          工作原理:控制進(jìn)程最初建立若干個(gè)子進(jìn)程,為了不在請(qǐng)求到來時(shí)再生成子進(jìn)程,所以要根據(jù)需求不斷的創(chuàng)建新的子進(jìn)程,最大可以達(dá)到每秒32個(gè)直到滿足需求為止。

          安裝方法:在編譯的過程中,加入?yún)?shù)--with-mpm=frefork,不加也可以,因?yàn)槟J(rèn)的話,會(huì)采用prefork模式。

          優(yōu)點(diǎn):效率高,穩(wěn)定,安全。對(duì)于線程調(diào)試?yán)щy的平臺(tái)來說,調(diào)試更加容易些。

          缺點(diǎn):與worker模式相比消耗資源多。

          配置參數(shù)說明:

          StartServers 5 #最初建立的子進(jìn)程

          MinSpareServers 5 #最小空閑進(jìn)程數(shù),如果空閑的進(jìn)程小于設(shè)定值,Apache會(huì)自動(dòng)建立進(jìn)程,如果服務(wù)器并發(fā)及負(fù)載大的話,可以考慮加大。

          MaxSpareServers 10 #最大空閑進(jìn)程數(shù),如果空閑的進(jìn)程大于設(shè)定值,Apache會(huì)自動(dòng)kill掉多余的進(jìn)程,如果服務(wù)器負(fù)載大的話,可以考慮加大。

          MaxClients 150 #設(shè)定的是apache可以同時(shí)處理的請(qǐng)求,是對(duì)apache性能影響最大的參數(shù),就是apache可以同時(shí)處理的請(qǐng)求數(shù),就是說,如果有150個(gè)用戶在訪問,那么第151個(gè)用戶就要等之前的訪問結(jié)束后才能訪問。

          MaxRequestsPerChild 0 #每個(gè)子進(jìn)程可處理的請(qǐng)求數(shù),每個(gè)子進(jìn)程在處理了“MaxRequestsPerChild”個(gè)請(qǐng)求后將自動(dòng)銷毀。0以為著無限,即子進(jìn)程永不銷毀。雖然缺省設(shè)為0可以使每個(gè)子進(jìn)程處理更多的請(qǐng)求,但如果設(shè)置成非0值也有兩點(diǎn)重要的好處。(1)可防止意外的內(nèi)存泄露(2)在服務(wù)器負(fù)載下載的時(shí)候會(huì)自動(dòng)減少子進(jìn)程數(shù)。

          生產(chǎn)環(huán)境配置實(shí)例1:

          StartServers 10

          MinSpareServers 10

          MaxSpareServers 15

          ServerLimit 2000

          MaxClients 1000

          MaxRequestsPerChild 5000

          2、worker模式

          worker模式是apche2.x新引進(jìn)來的模式,是線程與進(jìn)程的結(jié)合,在worker模式下會(huì)有多個(gè)子進(jìn)程,每個(gè)子進(jìn)程又會(huì)有多個(gè)線程。每個(gè)線程在某個(gè)確定的時(shí)間只能維持一個(gè)連接。

          工作原理:由主控制進(jìn)程生成若干個(gè)子進(jìn)程,而每個(gè)子進(jìn)程中又包含固定的線程數(shù),各個(gè)線程獨(dú)立處理請(qǐng)求,同樣為了不在請(qǐng)求到來時(shí)再生成線程,在配置文件中設(shè)置了最小和最大的空閑線程數(shù)及所有子進(jìn)程中的線程總數(shù),如果現(xiàn)有子進(jìn)程中的線程總數(shù)不能滿足并發(fā)及負(fù)載,控制進(jìn)程將派生新的子進(jìn)程。



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();