精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

MongoDB的JavaScript性能

數據庫 其他數據庫 MongoDB
mongodb使用javascript做shell, mongodb的db.eval可以提供給數據驅動與這種javascript shell類似的js接口. 這算是一種移動代碼風格(Mobile Code Sytles)的架構設計吧. 我期望可以利用這個接口, 將一些處理邏輯放在mongodb的節點上運行. 避免在PHP里面多次獲取和操作mongodb的數據. (這個需求類似傳統數據庫的存儲過程)

   mongodb的db.eval

  mongodb使用javascript做shell, mongodb的db.eval可以提供給數據驅動與這種javascript shell類似的js接口. 這算是一種移動代碼風格(Mobile Code Sytles)的架構設計吧. 我期望可以利用這個接口, 將一些處理邏輯放在mongodb的節點上運行. 避免在PHP里面多次獲取和操作mongodb的數據. (這個需求類似傳統數據庫的存儲過程)

  但是測試卻發現, 在mongodb里面跑javascript性能很不理想. 我寫了一段測試代碼, 跑10000次循環:

 

  1. <?php 
  2. $mongo = new Mongo("mongodb://localhost:20237/"); 
  3. $db = $mongo->selectDB("attl"); 
  4.  
  5. $echo_func = <<<JAVASCRIPT 
  6. function() { 
  7.         var str = "xxxxxxxxxxxxxxxxx0000000000"
  8.         var data = str + str + str + str; 
  9.         var data = data + data + data + data; 
  10.         var max = 10000; 
  11.         var arr = []; 
  12.         var total = 0; 
  13.  
  14.         for(var a=0; a<100; a++) { 
  15.                 for(var i=0; i<max; i++) { 
  16.                         arr.push( data + " . " + data); 
  17.                 } 
  18.                 for(var i=0; i<arr.length; i++) { 
  19.                         total += arr[i].length; 
  20.                 } 
  21.                 arr = []; 
  22.         } 
  23.         return total; 
  24. JAVASCRIPT; 
  25.  
  26. $bgtime = microtime(true); 
  27.  
  28. $echo_code = new MongoCode($echo_func); 
  29. $obj = (object)array("name"=>"dzg""values"=>array(1,2,3), "bool"=>true) ; 
  30. $arr = array(1,2,3,4,5,6,7,8); 
  31. $map = array("a"=>1, "b"=>2); 
  32. $response = $db->execute($echo_code, array($obj, $arr, $map)); 
  33. var_dump($response); 
  34.  
  35. $endtime = microtime(true); 
  36.  
  37. echo "\n time : ".($endtime - $bgtime)."\n"

 

  執行 :

 

  1. php ab-mongo.php 
  2. array(2) { 
  3.   ["retval"]=>  float(867000000) 
  4.   ["ok"]=>  float(1) 
  5.  
  6. time : 6.0353651046753 

 

  這段js居然執行6秒之久! 在其他環境下測試同樣功能代碼:

  Google Chrome : 只需70毫秒

  Firefox 5 : 只需180毫秒

  用PHP 5執行類似代碼: 只需630毫秒

  顯然相比以上測試, mongodb的javascript性能差太大了.

  排除測試干擾

  根據mongodb官方文檔 Server-side Code Execution : Limitations of eval > Write locks 一節, 我懷疑也許是Write locks導致的. 但這種懷疑和本例關系不大, locks應該只影響并發執行, 現在的問題是一次執行都這么慢.

  另外, 我還擔心從PHP到mongodb的js代碼傳遞環節慢.

  于是花了兩種手段排除這兩個因素:

  使用 db.system.js.save({_id: “mytestfunc”, value: function () { … }}); 的方式, 將測試的js代碼作成mongodb支持的Stored JavaScript

  使用 db.runCommand({$eval: function() {return mytestfunc();}, nolock: true}) 的方式, 進行nolock調用

  結果發現問題依舊. 結論是mongodb的JavaScript執行環節有問題

  測試Mongodb + V8 JavaScript引擎

  我知道Mongodb的JavaScript引擎是SpiderMonkey, 于是想嘗試再編譯一個v8版本的Mongodb, 準備用如下JavaScript文件測試一下.

  準備測試代碼

 

  1. function dotest() { 
  2.         var str = "xxxxxxxxxxxxxxxxx0000000000"
  3.         var data = str + str + str + str; 
  4.         var data = data + data + data + data; 
  5.         var max = 10000; 
  6.         var arr = []; 
  7.         var total = 0; 
  8.  
  9.         for(var a=0; a<100; a++) { 
  10.                 for(var i=0; i<max; i++) { 
  11.                         arr.push( data + " . " + data); 
  12.                 } 
  13.                 for(var i=0; i<arr.length; i++) { 
  14.                         total += arr[i].length; 
  15.                 } 
  16.                 arr = []; 
  17.         } 
  18.         return total; 
  19.  
  20. myecho = (typeof console !== 'undefined' && typeof console.log == 'function') ? console.log : print; 
  21.  
  22. a = new Date(); 
  23. myecho("begin:\t" + a); 
  24.  
  25. myecho("result:\t" + dotest()); 
  26.  
  27. b = new Date(); 
  28. myecho("end:\t" + b); 
  29.  
  30. myecho("total time:\t" + (b - a)); 

 

  這個JavaScript腳本能同時跑在4種環境下:

  Chrome / Firefox等瀏覽器環境

  node js的shell

  SpiderMonkey 的js shell

  mongo 的js shell

  我準備編譯完Mongodb的v8版本后, 四個環境都比較測試一下.

  編譯mongodb + v8

  我在OpenSuse11.4下, 用linux的包管理工具準備編譯環境, 還是很容易的:

  #已安裝的包: g++ subversion git python

 

  1. sudo zypper install scons tcsh boost-devel pcre-devel readline-devel 
  2.  
  3. svn checkout http://v8.googlecode.com/svn/trunk/ v8 
  4. cd v8 
  5. scons 
  6. cd .. 
  7.  
  8. git clone git://github.com/mongodb/mongo.git 
  9. cd mongov8 
  10. scons 
  11.  
  12. #run mongodb v8 
  13. ./mongod --quiet --shardsvr --dbpath /home/dzg/data/mongodb/test/mongod --port 20237 --nohttpinterface --fork --pidfilepath /home/dzg/data/mongodb/test/mongod.pid --logpath /home/dzg/log/mongodb/test/mongod.log --logappend 

 

  執行測試

  執行~/opt/mongov8/mongo localhost:20237 dotest.js

  mongo+v8 : 93毫秒

  nodejs : 68毫秒

  SpiderMonkey : 442毫秒

  初步結論:

  mongodb + v8性能非常好, 接近node.js里面的執行性能

  SpiderMonkey 1.9 比v8慢5倍

  mongodb使用SpiderMonkey肯定有一些環節還存在問題, 導致mongodb+SpiderMonkey比mongodb+v8慢60多倍

  也許是mongodb的SpiderMonkey版本低? 我目前還不知道mongodb的發行版內, SpiderMonkey的確切版本

  我上面測試SpiderMonkey 的js命令是來自xulrunner-192

  測試代碼很短, 比較片面, 上面的性能倍數只是大體估計, 不是全面精確的評估。

責任編輯:honglu 來源: NOSQL中文網
相關推薦

2017-08-10 14:04:25

前端JavaScript函數性能

2013-11-19 10:08:06

MongoDB

2009-06-10 22:00:57

JavaScript腳

2012-12-17 13:51:22

Web前端JavaScriptJS

2014-11-25 10:03:42

JavaScript

2009-06-11 17:15:23

JavaScript性

2022-11-17 08:00:18

JavaScript錯誤性能

2022-12-15 08:00:38

JavaScript錯誤性能

2011-09-27 10:11:14

MongoDBR

2013-09-04 14:22:59

JavaScript性能優化

2009-06-24 15:00:39

Javascript代

2017-12-04 12:29:15

前端JavaScript性能優化

2021-09-24 14:02:53

性能優化實踐

2023-12-14 12:56:00

MongoDB數據庫優化

2013-05-09 09:45:29

2024-06-11 00:09:00

JavaScript模式變量

2023-09-13 08:00:00

JavaScript循環語句

2022-02-25 23:46:54

JavaScript網站開發

2011-03-03 10:32:07

Mongodb億級數據量

2023-11-14 10:06:46

數據庫性能
點贊
收藏

51CTO技術棧公眾號

国产一级在线免费观看| 日本高清免费在线视频| 国产免费视频在线| 美女一区二区视频| 伦理中文字幕亚洲| 久久久久99人妻一区二区三区| 2018av在线| 国产喷白浆一区二区三区| 91色琪琪电影亚洲精品久久| 日韩美女一级片| 欧美在线色图| 亚洲国产高潮在线观看| 亚洲精品视频导航| 高h视频在线播放| 国产色一区二区| 国产99在线播放| 天天操天天干天天摸| 欧美精品福利| 亚洲天堂视频在线观看| 久久无码专区国产精品s| 日本在线中文字幕一区二区三区 | 欧美人成免费网站| 91av资源网| 精精国产xxxx视频在线| 久久嫩草精品久久久精品一| 999视频在线免费观看| 国产又粗又猛又黄视频| 亚洲视频一二| 久久亚洲精品一区| 欧美三级视频网站| 欧美亚洲色图校园春色| 日韩免费观看高清完整版在线观看| 精品久久久久av| 高清在线视频不卡| 一区二区高清免费观看影视大全 | 91精品推荐| 亚洲欧美综合v| 精品人妻一区二区三区日产| **国产精品| 欧美一a一片一级一片| 国产午夜大地久久| av在线加勒比| 伊人婷婷欧美激情| 福利在线小视频| 91精彩视频在线播放| www久久精品| 国产一区免费在线观看| 韩国中文字幕hd久久精品| 狠狠色丁香婷婷综合| 国产精品视频男人的天堂| 免费黄色片视频| 国产精品久久久久9999高清| 国内外成人免费激情在线视频| 欧美日韩大片在线观看| 国产综合精品| 久久97精品久久久久久久不卡| 久久国产波多野结衣| 久久久国产精品| 久久高清视频免费| 国产乱国产乱老熟300| 亚洲久久久久| 欧美二区在线播放| 国产一二三四区在线| 欧美日韩有码| 最新国产精品亚洲| 中文字幕资源站| 无码一区二区三区视频| 久久资源免费视频| 久草免费在线视频观看| 精品99视频| 97色在线播放视频| 4438国产精品一区二区| 男女性色大片免费观看一区二区 | 亚洲ab电影| 亚洲人成毛片在线播放女女| 国产精品剧情在线亚洲| 亚洲欧洲精品在线| 超碰免费在线播放| 亚洲伊人色欲综合网| 欧洲精品在线播放| 在线成人av观看| 欧美亚洲丝袜传媒另类| 欧美视频亚洲图片| 给我免费播放日韩视频| 精品在线欧美视频| 激情无码人妻又粗又大| 亚洲精品中文字幕乱码| 午夜精品福利在线观看| 欧美日韩一级黄色片| 精品一区二区影视| 精品久久久久久亚洲| 男人av在线| 综合色中文字幕| 黄页网站在线观看视频| 91大神在线观看线路一区| 欧美一区二区三区视频在线| 人妻 日韩 欧美 综合 制服| 精品国产乱码久久久久久果冻传媒| 久久精品视频播放| 亚洲欧美在线观看视频| 奇米影视一区二区三区| 99久久精品久久久久久ai换脸| 你懂的在线播放| 一区免费观看视频| 日本精品一区在线观看| 精品国模一区二区三区欧美| 日韩成人在线电影网| 懂色av粉嫩av蜜臀av一区二区三区| 欧美成人亚洲| 国产精品网址在线| 姝姝窝人体www聚色窝| 中文子幕无线码一区tr| 国产午夜大地久久| 久久精品一级| 一区二区三区国产在线观看| 久久久久成人片免费观看蜜芽| 视频一区欧美日韩| 国产综合av一区二区三区| 一级毛片视频在线| 色综合久久天天| aaa黄色大片| 91久久久精品国产| 国产成人在线视频| 色哟哟中文字幕| 亚洲视频狠狠干| 欧美三级理论片| 亚州综合一区| 久久久久久久久久国产精品| 国产又粗又猛又爽又黄视频| 久久看人人爽人人| 亚洲 高清 成人 动漫| 日韩在线网址| 久久精品夜夜夜夜夜久久| 无码人妻精品一区二区三区不卡| 成人黄色在线视频| 大陆极品少妇内射aaaaaa| 91av一区| 中文字幕欧美国内| 亚洲高清视频免费观看| 91影院在线观看| 国产日本在线播放| 粉嫩精品导航导航| 欧美激情图片区| 国产99对白在线播放| 中文字幕日本不卡| 国模私拍视频在线观看| 日韩大片在线播放| 国产精品网址在线| 欧美三级电影一区二区三区| 欧洲一区在线观看| 国产三级av在线播放| 中文在线不卡| 蜜桃久久精品乱码一区二区| 美女视频在线免费| 日韩电影中文字幕| 国产精品男女视频| 久久久蜜桃精品| 农村妇女精品一二区| 怕怕欧美视频免费大全| 国产精品久久久久77777| 黄色片免费在线| 欧美少妇性性性| 欧美性生给视频| 国产综合色产在线精品| 黄色特一级视频| 国产精品自在线拍| 欧美一级黑人aaaaaaa做受| 日韩av视屏| 在线视频你懂得一区二区三区| 久久久久亚洲av无码a片| 免费xxxx性欧美18vr| 一本一道久久a久久综合精品| 国产精久久久| 久久久欧美一区二区| 欧美在线一卡| 欧美日韩视频专区在线播放| 神马午夜精品91| 成人性色生活片免费看爆迷你毛片| 男女猛烈激情xx00免费视频| 欧美人与拘性视交免费看| 国产日韩欧美在线| 久草在线视频福利| 亚洲免费视频在线观看| 一区二区三区午夜| 亚洲最快最全在线视频| 最新中文字幕视频| 精品一区二区成人精品| 国产精品无码人妻一区二区在线| 免费看av成人| 91社区国产高清| 伊人网在线播放| 久久精品99无色码中文字幕 | 色中文字幕在线观看| 福利电影一区| 国产日韩亚洲欧美| sm在线播放| 久久精品久久精品亚洲人| 国产成人无码www免费视频播放| 91九色02白丝porn| 国产性猛交普通话对白| 国产午夜精品福利| 极品白嫩的小少妇| 麻豆精品一二三| 男人插女人视频在线观看| 日韩国产在线| 精品国产乱码久久久久软件| 高清不卡一区| 国产精品高清网站| av免费不卡国产观看| 日韩综合中文字幕| 日本一二三区在线视频| 日韩一级高清毛片| 国产成人av免费| 天天色 色综合| 婷婷色中文字幕| 欧美激情资源网| a视频免费观看| 国产成人丝袜美腿| 午夜一区二区视频| 日韩精品电影一区亚洲| 激情深爱综合网| 亚洲精品小说| 视频一区二区三区在线观看| 久久中文资源| 超碰在线观看97| 成人免费91| 国产精品激情av在线播放| 国产污视频在线播放| 久久久久久久电影一区| 青草影视电视剧免费播放在线观看| 色香阁99久久精品久久久| 欧洲免费在线视频| 亚洲奶大毛多的老太婆| 午夜18视频在线观看| 欧美精品一区二区三区在线播放| 国产人妖在线播放| 欧美精品日韩综合在线| 中文字幕在线观看1| 91精品福利视频| 亚洲综合图片网| 色综合天天综合网国产成人综合天| 日韩成年人视频| 亚洲午夜三级在线| 国语对白一区二区| 亚洲第一福利一区| 久久久一二三区| 亚洲综合激情小说| 午夜久久资源| 天堂网免费视频| 亚洲综合色噜噜狠狠| 亚洲av无码一区二区三区在线| 中文字幕在线观看一区二区| 国产精品18在线| 《视频一区视频二区| 午夜剧场免费在线观看| 亚洲视频你懂的| 欧美日韩综合一区二区| 一区二区三区四区不卡视频| 青青草国产在线观看| 亚洲国产中文字幕在线视频综合| 免费一级片视频| 精品久久香蕉国产线看观看亚洲 | 成人一区二区在线| 99亚洲乱人伦aⅴ精品| 国产精品久久九九| 啪啪激情综合网| 欧美午夜欧美| 四季av一区二区凹凸精品| 一区精品视频| 欧美~级网站不卡| 国产va亚洲va在线va| 性一交一乱一区二区洋洋av| 亚洲免费看av| 国产精品亚洲一区二区三区妖精| 欧美在线一级片| 国产欧美日韩综合| 婷婷伊人五月天| 亚洲一区二区三区三| 国产亚洲欧美精品久久久久久| 欧美日韩国产精品| 中文字幕在线观看1| 欧美xxx久久| 玖玖综合伊人| 欧美精品免费看| 欧美成人黑人| 91在线观看免费高清完整版在线观看| 在线观看视频一区二区三区| 欧美成人综合一区| 国产精品精品| 国模吧无码一区二区三区 | 国产精品色视频| 深夜福利一区| 日韩电影天堂视频一区二区| 欧美 亚欧 日韩视频在线| 999香蕉视频| 国产大陆精品国产| 性猛交娇小69hd| 亚洲一区二区三区四区中文字幕| 国产一级免费视频| 日韩一区二区三区视频在线| 男人的天堂在线视频| 欧美情侣性视频| 国产福利亚洲| 精品中文字幕人| 午夜精品网站| 日韩欧美国产片| 99在线精品一区二区三区| 黄大色黄女片18免费| 亚洲国产另类精品专区| www.av88| 日韩av一卡二卡| 黄网页免费在线观看| 国产成人精品在线| 日韩三级不卡| 视频在线精品一区| 中日韩男男gay无套| 亚洲男人天堂2021| 国产三级久久久| 日本一区二区欧美| 欧美丰满一区二区免费视频| 青青久草在线| 色综合久久88色综合天天看泰| 在线免费av资源| av一区和二区| 日本不卡二三区| 妓院一钑片免看黄大片| 懂色av一区二区夜夜嗨| 亚洲人成人无码网www国产 | 国产精品第56页| 欧美精品丝袜中出| 国产免费av高清在线| 国模视频一区二区三区| 精品久久国产一区| 午夜啪啪福利视频| 捆绑调教美女网站视频一区| 美女搡bbb又爽又猛又黄www| 成人免费在线观看入口| 成年人视频免费| 精品国产乱码久久久久久图片| av理论在线观看| 成人欧美一区二区三区在线湿哒哒| 欧美日韩伦理| 99视频精品免费| 久久女同性恋中文字幕| 久久精品视频1| 亚洲国产第一页| 蜜桃视频动漫在线播放| 国产传媒一区二区| 国产一区激情| 怡红院一区二区| 一区二区国产盗摄色噜噜| 国产 欧美 自拍| 欧美成人午夜激情在线| 先锋欧美三级| 亚洲精品一区二区三区樱花| 日韩专区在线视频| 91在线无精精品白丝| 色系网站成人免费| 黄色片网站免费在线观看| 77777亚洲午夜久久多人| 日本天堂一区| 91看片就是不一样| 久久久一区二区三区捆绑**| 91蜜桃视频在线观看| 亚洲欧美色婷婷| 日本精品裸体写真集在线观看| 一区二区不卡在线观看| 黑人精品欧美一区二区蜜桃| 黄色一级视频在线观看| 日韩女优av电影在线观看| 丝袜中文在线| 精品午夜一区二区三区| 性欧美videos另类喷潮| 国精产品视频一二二区| 欧美一区二区日韩一区二区| 黄色网址在线免费播放| 成人综合电影| 国产亚洲永久域名| 特黄一区二区三区| 日韩一区二区免费电影| 交100部在线观看| 欧美一区少妇| 久久午夜影视| 极品久久久久久| 亚洲精品一区二区在线观看| 欧美自拍电影| 一区二区三区四区欧美日韩| 国产91在线|亚洲| 黄色在线观看国产| 亚洲欧美精品在线| 精品国产鲁一鲁****| 日韩av在线播放不卡| 国产精品女主播在线观看| jizz国产视频| 国产脚交av在线一区二区| 欧美aaaaaaaaaaaa| 久久久精品人妻一区二区三区| 欧美午夜无遮挡| 欧美r级在线| 欧美成人免费在线|