一、為什么有些低端云主機(jī)(1CPU,4G內(nèi)存)也提供SQLServer
啟動(dòng)SQLServer不占資源,消耗隨數(shù)據(jù)規(guī)模和連接數(shù)增加
出國(guó)游不一定花很多錢。以前有一本書,介紹500元窮游歐洲16國(guó) 。幾千元算比較好的預(yù)算了,窮游富游都有對(duì)應(yīng)的方案。
同樣,500M內(nèi)存就能夠啟動(dòng)SQLServer了(早期版本更省內(nèi)存),1G完全可以跑小型的程序。4G的話,已經(jīng)是一個(gè)不錯(cuò)的配置了。只要并發(fā)不大(未達(dá)到瓶頸),都可以完美運(yùn)行。 通常大多數(shù)內(nèi)存會(huì)被其他應(yīng)用、服務(wù)和緩存占了,SQL實(shí)際占用的內(nèi)存不多。
延伸閱讀:
二、Memcached內(nèi)存管理機(jī)制
Memcached默認(rèn)使用Slab Allocation機(jī)制管理內(nèi)存,其主要思想是按照預(yù)先規(guī)定的大小,將分配的內(nèi)存分割成特定長(zhǎng)度的塊以存儲(chǔ)相應(yīng)長(zhǎng)度的key-value數(shù)據(jù)記錄,以完全解決內(nèi)存碎片問(wèn)題。Slab Allocation機(jī)制只為存儲(chǔ)外部數(shù)據(jù)而設(shè)計(jì),也就是說(shuō)所有的key-value數(shù)據(jù)都存儲(chǔ)在Slab Allocation系統(tǒng)里,而Memcached的其它內(nèi)存請(qǐng)求則通過(guò)普通的malloc/free來(lái)申請(qǐng),因?yàn)檫@些請(qǐng)求的數(shù)量和頻率決定了它們不會(huì)對(duì)整個(gè)系統(tǒng)的性能造成影響Slab Allocation的原理相當(dāng)簡(jiǎn)單。 如圖所示,它首先從操作系統(tǒng)申請(qǐng)一大塊內(nèi)存,并將其分割成各種尺寸的塊Chunk,并把尺寸相同的塊分成組Slab Class。其中,Chunk就是用來(lái)存儲(chǔ)key-value數(shù)據(jù)的最小單位。每個(gè)Slab Class的大小,可以在Memcached啟動(dòng)的時(shí)候通過(guò)制定Growth Factor來(lái)控制。假定圖中Growth Factor的取值為1.25,如果名列前茅組Chunk的大小為88個(gè)字節(jié),第二組Chunk的大小就為112個(gè)字節(jié),依此類推。