新聞中心
Ruby解析器對(duì)于編程人員在實(shí)際編程中是非常苦惱的。因?yàn)樗男阅軐?shí)在不能讓人恭維。但是有些情況又必須要用上。如何解決Ruby解析器性能的優(yōu)化就成為了主要解決問題。#t#

成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
Ruby解析器性能是很糟糕的,Ruby早期的主要用途是取代perl寫批量處理的腳本的,并不是為服務(wù)器應(yīng)用編寫的,因此在內(nèi)存分配策略上非常不適合服務(wù)器應(yīng)用。
Stefans Kaes編寫了一個(gè)Ruby GC的補(bǔ)丁文件,在railsbench下載包里面提供了。
雖然當(dāng)前Railsbench提供的GC補(bǔ)丁只有針對(duì)Ruby 1.8.4和1.8.5版本的,但是在Ruby 18,6上面使用1.8.5的GC補(bǔ)丁也完全沒有問題。
GC補(bǔ)丁的作用主要是針對(duì)Rails應(yīng)用開大了Ruby的內(nèi)存堆,可以有效提高內(nèi)存堆的利用率,降低GC的頻率。
根據(jù)Stefans Kaes提供的測(cè)試數(shù)據(jù),打補(bǔ)丁并且調(diào)整參數(shù)以后,GC的頻率下降到只有原來的1/10還不到。
降低GC頻率盡管并不能夠提高單個(gè)請(qǐng)求的執(zhí)行速度,但是可以增加整體應(yīng)用的負(fù)載能力。
JavaEye的服務(wù)器上也使用了GC補(bǔ)丁,并且根據(jù)推薦參數(shù)進(jìn)行了調(diào)整。
在使用GC補(bǔ)丁之后,Web服務(wù)器的CPU負(fù)載下降了大概15%左右,效果非常顯著。
當(dāng)然開大內(nèi)存堆的代價(jià)就是Ruby進(jìn)程會(huì)多消耗內(nèi)存,在我們的服務(wù)器上,Ruby打補(bǔ)丁之后多消耗了50%左右的物理內(nèi)存。
當(dāng)前標(biāo)題:簡(jiǎn)單介紹Ruby解析器性能提高方式
網(wǎng)頁URL:http://m.fisionsoft.com.cn/article/cosipjh.html


咨詢
建站咨詢
