将网站程序放在tmpfs下
將網(wǎng)站程序放在tmpfs下
然后用nginx直接做對(duì)外服務(wù)呢
varnish或者squid都是利用內(nèi)存和它的連接數(shù)來(lái)做到加速服務(wù).
但是如果是squid->nginx->fastcgi->mysql
這樣當(dāng)中很多連接是開銷在內(nèi)部的連接之中
而且如果客戶端請(qǐng)求php.squid還需要將請(qǐng)求再轉(zhuǎn)發(fā)至nginx,然后nginx再轉(zhuǎn)發(fā)至fastcgi
對(duì)于動(dòng)態(tài)內(nèi)容的多加了一個(gè)步驟.
考慮到nginx有了不低于squid以及varnish的連接能力
那么可以將網(wǎng)站程序直接放在tmpfs中
這樣如果是靜態(tài)的.就會(huì)直接從內(nèi)存讀取后返回給用戶(和其他緩沖服務(wù)器的效果一樣)
如果是PHP就丟給后面的fastcgi處理
這樣更快.
至于程序同步的問(wèn)題.
在程序更新的時(shí)候使用svn或者rsync去同步tmpfs里面和文件服務(wù)器中的內(nèi)容就可以了
至于服務(wù)器重啟tmpfs清空的問(wèn)題
只需要在服務(wù)器重啟之前,需要將內(nèi)存中的程序復(fù)制到本地硬盤
然后啟動(dòng)之后,將硬盤數(shù)據(jù)再?gòu)?fù)制到tmpfs中然后啟動(dòng)服務(wù)即可
至于服務(wù)器宕機(jī)以后無(wú)法事先保存tmpfs內(nèi)容
既然服務(wù)器都掛了.在它啟動(dòng)之后用10分鐘20分鐘把程序全部重新同步過(guò)來(lái)也不是什么大的開銷.
如果是多節(jié)點(diǎn)的負(fù)載均衡或者HA,那就更沒必要擔(dān)心tmpfs內(nèi)容丟失的問(wèn)題.
至于上傳文件
如果你都用這么樣的架構(gòu)來(lái)加速了.
你的圖片還會(huì)直接上傳到web服務(wù)器么?
肯定是直接傳到圖片服務(wù)器了.
總結(jié)
以上是生活随笔為你收集整理的将网站程序放在tmpfs下的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 泰拉瑞亚监狱房怎么造?
- 下一篇: 美容院一个月能净赚多少钱