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