1. 在終端(也即cmd命令界面)下輸入 'c:\
memcached\
memcached.exe -d install' 安裝
2. 再輸入: 'c:\
memcached\
memcached.exe -d start' 啟動(dòng)
NOTE: 以后
memcached將作為windows的一個(gè)服務(wù)每次開機(jī)時(shí)自動(dòng)啟動(dòng)。默認(rèn)端口:11211
memcached的基本設(shè)置:
-p 監(jiān)聽的端口
-l 連接的IP地址, 默認(rèn)是本機(jī)
-d start 啟動(dòng)memcached服務(wù)
-d restart 重起memcached服務(wù)
-d stop|shutdown 關(guān)閉正在運(yùn)行的memcached服務(wù)
-d install 安裝memcached服務(wù)
-d uninstall 卸載memcached服務(wù)
-u 以的身份運(yùn)行 (僅在以root運(yùn)行的時(shí)候有效)
-m 最大內(nèi)存使用,單位MB。默認(rèn)64MB
-M 內(nèi)存耗盡時(shí)返回錯(cuò)誤,而不是刪除項(xiàng)
-c 最大同時(shí)連接數(shù),默認(rèn)是1024
-f 塊大小增長因子,默認(rèn)是1.25
-n 最小分配空間,key+value+flags默認(rèn)是48
-h 顯示幫助
mixi的設(shè)置,單臺(tái):
[/code]
每臺(tái)memcached服務(wù)器僅啟動(dòng)一個(gè)memcached進(jìn)程。分配給memcached的內(nèi)存為3GB,啟動(dòng)參數(shù)如下:
/usr/bin/memcached -p 11211 -u nobody -m 3000 -c 30720
由于使用了x86_64的操作系統(tǒng),因此能分配2GB以上的內(nèi)存。32位操作系統(tǒng)中,每個(gè)進(jìn)程最多只能使用2GB內(nèi)存。也曾經(jīng)考慮過啟動(dòng)多個(gè)分配2GB以下內(nèi)存的進(jìn)程,但這樣一臺(tái)服務(wù)器上的TCP連接數(shù)就會(huì)成倍增加,管理上也變得復(fù)雜,所以mixi就統(tǒng)一使用了64位操作系統(tǒng)。
另外,雖然服務(wù)器的內(nèi)存為4GB,卻僅分配了3GB,是因?yàn)閮?nèi)存分配量超過這個(gè)值,就有可能導(dǎo)致內(nèi)存交換(swap)。連載的第2次中前坂講解過了memcached的內(nèi)存存儲(chǔ)“slab allocator”,當(dāng)時(shí)說過,memcached啟動(dòng)時(shí)指定的內(nèi)存分配量是memcached用于保存數(shù)據(jù)的量,沒有包括“slab allocator”本身占用的內(nèi)存、以及為了保存數(shù)據(jù)而設(shè)置的管理空間。因此,memcached進(jìn)程的實(shí)際內(nèi)存分配量要比指定的容量要大,這一點(diǎn)應(yīng)當(dāng)注意。
mixi保存在memcached中的數(shù)據(jù)大部分都比較小。這樣,進(jìn)程的大小要比指定的容量大很多。因此,我們反復(fù)改變內(nèi)存分配量進(jìn)行驗(yàn)證,確認(rèn)了3GB的大小不會(huì)引發(fā)swap,這就是現(xiàn)在應(yīng)用的數(shù)值。
memcached -d -m 1024 -u root -l 172.25.38.70 -p 12000 -c 4096 -P /tmp/memcached.pid 12000
-p 12000 端口
-m 1024 內(nèi)存設(shè)置 1024
-c 4096 同時(shí)連接數(shù)