亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 42277 | 回復(fù): 3
打印 上一主題 下一主題

/dev/shm共享內(nèi)存 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-11-30 16:26 |只看該作者 |倒序?yàn)g覽
/dev/shm共享內(nèi)存









最近聽說/dev/shm共享內(nèi)存是天生的memcache,于是在linux中做了一個(gè)測試:







測試一:讀取100000次數(shù)據(jù)。





Php代碼
  1. 1.//使用memcache   
  2. 2.require_once 'tools/cache/memcached-client.php';   
  3. 3.$mem = new memcached($options);   
  4. 4.$mem->set('x' , '0');   
  5. 5.$time = microtime(TRUE);   
  6. 6.for ($i = 0 ; $i < 100000 ; $i++){   
  7. 7.        $mem->get('x');   
  8. 8.}   
  9. 9.$end = microtime(TRUE);   
  10. 10.echo round($end - $time , 2);  
  11. //使用memcache
  12. require_once 'tools/cache/memcached-client.php';
  13. $mem = new memcached($options);
  14. $mem->set('x' , '0');
  15. $time = microtime(TRUE);
  16. for ($i = 0 ; $i < 100000 ; $i++){
  17.         $mem->get('x');
  18. }
  19. $end = microtime(TRUE);
  20. echo round($end - $time , 2);
復(fù)制代碼
連續(xù)運(yùn)行三次運(yùn)行上面的腳本,得到的結(jié)果分別為10.5,10.46,10.63。






Php代碼
  1. 1.//從文件中讀取,test.log的內(nèi)容只有1字節(jié)   
  2. 2.$time = microtime(TRUE);   
  3. 3.for ($i = 0 ; $i < 100000 ; $i++){   
  4. 4.        $data = file_get_contents('test.log');   
  5. 5.}   
  6. 6.$end = microtime(TRUE);   
  7. 7.echo round($end - $time , 2);  
  8. //從文件中讀取,test.log的內(nèi)容只有1字節(jié)
  9. $time = microtime(TRUE);
  10. for ($i = 0 ; $i < 100000 ; $i++){
  11.         $data = file_get_contents('test.log');
  12. }
  13. $end = microtime(TRUE);
  14. echo round($end - $time , 2);
復(fù)制代碼
連續(xù)運(yùn)行三次該腳本,得到的結(jié)果分別為4.4,3.16,3.16。




Php代碼
  1. 1.//使用共享內(nèi)存/dev/shm   
  2. 2.$time = microtime(TRUE);   
  3. 3.for ($i = 0 ; $i < 100000 ; $i++){   
  4. 4.        $data = file_get_contents('/dev/shm/php_system/vipcache');   
  5. 5.}   
  6. 6.$end = microtime(TRUE);   
  7. 7.echo round($end - $time , 2);  
  8. //使用共享內(nèi)存/dev/shm
  9. $time = microtime(TRUE);
  10. for ($i = 0 ; $i < 100000 ; $i++){
  11.         $data = file_get_contents('/dev/shm/php_system/vipcache');
  12. }
  13. $end = microtime(TRUE);
  14. echo round($end - $time , 2);
復(fù)制代碼
連續(xù)運(yùn)行三次得到的結(jié)果分別為3.2,3.25,3.2。



讀取實(shí)驗(yàn)的結(jié)果是:共享內(nèi)存與讀取本地文件的速度差不多,比memcache快。memcache為啥會(huì)比文件IO慢,我暫時(shí)沒搞清楚,聽別人說可能是因?yàn)閙emcache還有一層網(wǎng)絡(luò)操作。







測試二:寫100000次數(shù)據(jù)。


Php代碼
  1. 1.//使用memcache   
  2. 2.$mem = new memcached($options);   
  3. 3.$time = microtime(TRUE);   
  4. 4.for ($i = 0 ; $i < 100000 ; $i++){   
  5. 5.        $mem->set('x' , '0');   
  6. 6.}   
  7. 7.$end = microtime(TRUE);   
  8. 8.echo round($end - $time , 2);  
  9. //使用memcache
  10. $mem = new memcached($options);
  11. $time = microtime(TRUE);
  12. for ($i = 0 ; $i < 100000 ; $i++){
  13.         $mem->set('x' , '0');
  14. }
  15. $end = microtime(TRUE);
  16. echo round($end - $time , 2);
復(fù)制代碼
連續(xù)三次運(yùn)行得到的結(jié)果分別是10.93,9.22,9.41,跟讀取測試的結(jié)果差不多,說明memcache的讀與寫時(shí)間是差不多的。




Php代碼
  1. 1.//文件系統(tǒng)   
  2. 2.$time = microtime(TRUE);   
  3. 3.for ($i = 0 ; $i < 100000 ; $i++){   
  4. 4.        $data = file_put_contents('test.log',0);   
  5. 5.}   
  6. 6.$end = microtime(TRUE);   
  7. 7.echo round($end - $time , 2);  
  8. //文件系統(tǒng)
  9. $time = microtime(TRUE);
  10. for ($i = 0 ; $i < 100000 ; $i++){
  11.         $data = file_put_contents('test.log',0);
  12. }
  13. $end = microtime(TRUE);
  14. echo round($end - $time , 2);
復(fù)制代碼
連續(xù)三次運(yùn)行得到的結(jié)果分別是14.12,13.62,13.34。比讀取測試的結(jié)果差了很多,比memcache慢了一些。我猜測原因可能是讀取的時(shí)候,由于我讀取的是同一塊內(nèi)容,系統(tǒng)可能自動(dòng)給我做了緩存,所以讀比寫快了很多。



Php代碼
  1. 1.//共享內(nèi)存   
  2. 2.$time = microtime(TRUE);   
  3. 3.for ($i = 0 ; $i < 100000 ; $i++){   
  4. 4.        $data = file_put_contents('/dev/shm/php_system/vipcache' , '0');   
  5. 5.}   
  6. 6.$end = microtime(TRUE);   
  7. 7.echo round($end - $time , 2);  
  8. //共享內(nèi)存
  9. $time = microtime(TRUE);
  10. for ($i = 0 ; $i < 100000 ; $i++){
  11.         $data = file_put_contents('/dev/shm/php_system/vipcache' , '0');
  12. }
  13. $end = microtime(TRUE);
  14. echo round($end - $time , 2);
復(fù)制代碼
連續(xù)三次運(yùn)行得到的結(jié)果分別是2.5,2.52,2.53。寫跟讀的性能一樣優(yōu)越。





從以上的測試可以看出,直接操作本地的共享內(nèi)存,速度是最快的,比文件操作或者memcache都快。

我總結(jié)了一下其優(yōu)缺點(diǎn):



優(yōu)點(diǎn):讀寫速度最快。

缺點(diǎn):只適合單機(jī)應(yīng)用,不適用于分布式應(yīng)用。重啟機(jī)器會(huì)丟失內(nèi)容(memcache也會(huì)丟)。



在一些特殊的場景中,如果適當(dāng)使用共享內(nèi)存,可能會(huì)使性能得到非常大的提升。例如緩存,PHP session等。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-04-21 19:29 |只看該作者
在公司用了款美~信CreCloud云網(wǎng)管,挺不錯(cuò)的,屬于云計(jì)算技術(shù)理念和IT監(jiān)控技術(shù)的完美結(jié)合,云網(wǎng)管的成功開發(fā)和應(yīng)用,使云計(jì)算理念在IT監(jiān)控領(lǐng)域落地,而且還是永久免費(fèi)。http://www.mxsoft.com

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-04-26 21:23 |只看該作者
  強(qiáng)  強(qiáng)  強(qiáng)   謝謝了

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2013-04-08 13:20 |只看該作者
不錯(cuò),還沒用過這個(gè)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP