精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久精品不卡| 国产精品美女午夜爽爽| 91碰在线视频| 国产精品久久久久不卡| 婷婷丁香综合网| 日本免费精品| 日韩欧美成人区| 亚洲五月六月| 日本美女一级片| 美女视频一区在线观看| 欧美激情免费观看| 手机看片日韩av| youjizz欧美| 欧美性大战久久久| 国产一线二线三线女| 可以在线观看的av网站| 国产一区美女在线| 国产精品av电影| 欧美成人综合色| 成人免费av| 欧美精品一区二区精品网| 自拍偷拍 国产| 变态调教一区二区三区| 亚洲国产高清在线| 久久av一区二区三区亚洲| 国产精品无码专区av免费播放| 在线综合视频| 欧美日本亚洲视频| 国产一区第一页| 亚洲人亚洲人色久| 精品国产青草久久久久福利| 国产九九热视频| 亚洲同志男男gay1069网站| 亚洲精品乱码久久久久| 五月天色一区| 青青久草在线| 99国产精品久久久久久久久久| 亚洲www视频| 一级特黄特色的免费大片视频| 99av国产精品欲麻豆| 欧美黑人一级爽快片淫片高清| 国产午夜精品福利视频| 亚洲日本三级| 国产偷亚洲偷欧美偷精品| 国产日韩视频一区| 日韩三级网址| 日韩视频免费直播| 黄色一级片免费播放| 玖玖精品在线| 欧美日韩你懂的| 亚洲高清在线免费观看| 国产精品亚洲一区二区三区在线观看 | 亚洲va欧美va国产va天堂影院| 中文字幕在线亚洲三区| 婷婷免费在线视频| 国产精品久久久久久久久晋中 | 中文字幕第24页| 国产精品亚洲片在线播放| 亚洲精品一区二三区不卡| 国产精品无码在线| 日韩一级电影| 亚洲人成电影在线观看天堂色| 女人被狂躁c到高潮| 亚洲69av| 国产性猛交xxxx免费看久久| 欧美午夜激情影院| 久久精品国产68国产精品亚洲| xvideos亚洲人网站| 性生交大片免费全黄| 我不卡影院28| 欧美国产日产韩国视频| 国产成人愉拍精品久久| 久久最新视频| 成人久久久久久久| 亚洲精品无码久久久| av不卡免费在线观看| 欧美污视频久久久| 日本三级视频在线播放| 伊人一区二区三区| 免费欧美一级视频| 四虎成人精品一区二区免费网站| 欧美一区二区三区色| 中文字幕天堂网| 欧美日韩国产一区二区三区不卡| 日韩视频精品在线| 久久久久久久久99| 日韩国产成人精品| 97超碰人人看人人 | 国产视频九色蝌蚪| 欧美黑人一区| 欧美一区二区三区日韩| 国产肉体xxxx裸体784大胆| av一区二区在线播放| 九九热这里只有精品6| 欧美一级片免费在线观看| 日韩一区精品字幕| 91在线在线观看| 国产精品视频一区二区久久| 亚洲欧美一区二区三区久本道91| 久久综合九色综合88i| 97欧美成人| 亚洲国产欧美一区二区丝袜黑人 | 亚洲中午字幕| 成人激情春色网| 深夜影院在线观看| 亚洲日本韩国一区| 一本久道综合色婷婷五月| 日韩激情欧美| 中文字幕亚洲情99在线| 日本少妇吞精囗交| 激情小说亚洲一区| 久久99精品久久久久久秒播放器 | 成人在线视频电影| av二区在线| 日韩欧美国产高清91| wwwxxx色| 66久久国产| 国产精品久久久999| 神马午夜电影一区二区三区在线观看| 国产精品久久福利| 国产激情在线观看视频| 加勒比久久高清| 欧美成人第一页| 中文字幕理论片| 久久综合九色综合欧美就去吻| 超碰10000| 日本一区二区三区中文字幕| 亚洲欧洲日本专区| 国产精品男女视频| 波多野结衣亚洲一区| 日韩中文字幕在线不卡| 日本久久一区| 日韩在线观看精品| 中文字幕av久久爽| 欧美国产日韩亚洲一区| 免费观看精品视频| 欧美电影完整版在线观看| 欧美日本亚洲视频| 亚洲毛片在线播放| 亚洲精品免费在线| 男生和女生一起差差差视频| 天天影视综合| 亚洲综合国产精品| 18网站在线观看| 欧美一区二区三区性视频| 黄色录像二级片| 国产一区二区导航在线播放| 国产精品久久成人免费观看| 色综合视频一区二区三区44| 久久久精品国产| 国产日韩一级片| 亚洲精品综合在线| 亚洲熟妇一区二区| 在线 亚洲欧美在线综合一区| 7777精品伊人久久久大香线蕉完整版 | av手机免费在线观看| 日韩一区二区在线观看视频| tube国产麻豆| 国产电影一区在线| 精品少妇人欧美激情在线观看| 成人自拍在线| 97国产在线视频| 神马久久精品| 欧美性三三影院| 特黄一区二区三区| 国产一区二区三区免费看| 激情五月六月婷婷| 欧美激情网址| 国产精品九九久久久久久久| 黄av在线播放| 精品久久免费看| 五月天婷婷久久| 国产精品久久久久久久久图文区| 97人人爽人人| 亚洲国产高清视频| 日韩精彩视频| 欧美电影院免费观看| 69av在线播放| 在线毛片网站| 欧美大片在线观看一区| 国产农村妇女aaaaa视频| 中文幕一区二区三区久久蜜桃| 三区视频在线观看| 尹人成人综合网| 日韩偷拍一区二区| 免费观看亚洲天堂| 奇米四色中文综合久久| 三级外国片在线观看视频| 日韩一区二区视频| 亚洲成人第一网站| 亚洲欧美偷拍卡通变态| 久久久亚洲av波多野结衣| 精品影视av免费| 精品久久久久久久久久中文字幕| 精品美女视频| 国产伦精品一区二区三区免费视频| 亚洲天堂一区二区| 欧美国产乱视频| 在线播放麻豆| 日韩精品在线免费观看| 99热这里只有精品5| 日本高清不卡视频| 精品在线视频免费观看| 亚洲国产高清aⅴ视频| 岛国精品一区二区三区| 免费的国产精品| 欧美大片在线播放| 久久久久免费av| 欧美性色黄大片人与善| 香蕉免费一区二区三区在线观看| 国产福利视频一区| 国产在线精彩视频| 欧美福利视频在线| 日本视频在线免费观看| 亚洲深夜福利在线| 欧美熟女一区二区| 欧美精品一卡两卡| 久久久久久无码精品大片| 亚洲一区二区三区美女| 天海翼在线视频| 中文文精品字幕一区二区| 法国伦理少妇愉情| 不卡的av电影| 国产成人精品一区二区三区在线观看| 老司机免费视频一区二区三区| 超碰网在线观看| 亚洲色诱最新| 日韩亚洲欧美视频| 国内自拍一区| 17c丨国产丨精品视频| 国产精品久久久久久久久久10秀| 欧美在线播放一区| 深爱激情综合网| 久久综合久久综合这里只有精品| 99re8这里有精品热视频免费 | 国产精品tv| av成人观看| 午夜久久av| 国产激情美女久久久久久吹潮| 精品国产乱码一区二区三区| 国产中文字幕日韩| 亚洲视频资源| 91色在线视频| 日韩免费高清视频网站| 99re国产视频| av不卡一区二区| 国产精品白丝jk白祙| 91九色鹿精品国产综合久久香蕉| 91久久偷偷做嫩草影院| 久久九九精品视频| 动漫一区二区在线| 国产精品丝袜在线播放| 国产专区一区二区三区| 日韩在线你懂的| 日本在线播放一区| 久久国产精品成人免费观看的软件| 亚洲国产一区二区精品视频| 91麻豆精品国产91久久久平台 | 青春草在线免费视频| 欧美大成色www永久网站婷| 在线免费观看污| 韩国19禁主播vip福利视频| 岛国在线视频网站| 日本成熟性欧美| 欧美韩国日本| 成人av资源| 女人丝袜激情亚洲| 视频一区二区在线观看| 91成人精品视频| 欧美精品卡一卡二| 视频一区中文字幕国产| 亚洲午夜精品一区| 成人午夜激情视频| 久久精品视频18| 日韩美女视频一区二区 | 老司机在线看片网av| 欧美成人激情图片网| 成人bbav| 国产精品男人的天堂| 成人av在线播放| 久久99精品久久久久久久青青日本 | 欧美一级二级三级乱码| 人妻少妇一区二区三区| 一个人看的www久久| 91香蕉在线观看| 国产91精品久| 人人爱人人干婷婷丁香亚洲| 看高清中日韩色视频| 性xxxx欧美老肥妇牲乱| 久久综合九色综合88i| 加勒比av一区二区| 在线观看国产三级| 中文字幕一区在线观看视频| 日干夜干天天干| 欧美精品1区2区| 日韩精品视频无播放器在线看| 日韩中文字幕国产| 日本乱码一区二区三区不卡| 91日本视频在线| 自拍自偷一区二区三区| 老司机午夜网站| 蜜臂av日日欢夜夜爽一区| 国产高清成人久久| 亚洲欧美中日韩| 一级片免费在线播放| 精品国产污污免费网站入口 | 亚洲精品久久久蜜桃动漫| 在线观看欧美日韩国产| 国产福利电影在线播放| 川上优av一区二区线观看| 精品72久久久久中文字幕| 国产freexxxx性播放麻豆| 国模无码大尺度一区二区三区| 国产sm调教视频| 欧美日韩免费网站| 黄色美女一级片| 欧美日韩国产成人在线观看| 日韩综合久久| 亚洲欧美日韩另类精品一区二区三区 | 国产一区网站| 啊啊啊一区二区| 成人av在线资源网| 久久亚洲国产成人精品性色| 欧美一区二区视频在线观看2022| 91网在线播放| 国产精品福利在线| 欧美猛男同性videos| 欧美 丝袜 自拍 制服 另类| 丁香婷婷综合色啪| 久久精品www| 日韩精品中文字幕在线不卡尤物| 欧洲美女少妇精品| 国产日韩欧美综合| 日韩精品永久网址| 日韩av一卡二卡三卡| 亚洲欧美一区二区在线观看| 中文字幕你懂的| 一区二区三区四区视频| 国产超碰精品| 午夜精品区一区二区三| 日韩av一区二区三区四区| 人妻视频一区二区| 欧洲精品一区二区三区在线观看| 加勒比一区二区三区在线| 日本高清不卡在线| 国产欧美一区二区精品久久久| 99久久国产宗和精品1上映| 国产午夜久久久久| 丰满人妻一区二区三区四区| 在线色欧美三级视频| 国产91精品在线| 正在播放精油久久| 国产精品自在在线| 国产在线视频99| 亚洲精品videossex少妇| 色偷偷色偷偷色偷偷在线视频| 欧美日韩电影一区二区三区| 日本中文在线一区| www.com.av| 欧美成人一区二区| 天堂av中文在线观看| 日韩久久精品一区二区三区| 麻豆精品在线看| 欧美日韩在线观看免费| 亚洲大尺度美女在线| 婷婷综合六月| 自拍偷拍一区二区三区| 成人小视频在线观看| 亚洲欧美综合另类| 中文字幕亚洲无线码在线一区| 96sao精品免费视频观看| 国产日韩亚洲欧美在线| 久久男人中文字幕资源站| 在线视频 中文字幕| 色综合久久88色综合天天看泰| 露出调教综合另类| 欧美男女交配视频| 亚洲国产三级在线| 国产视频二区在线观看| 亚洲一区二区久久久久久久| 国产欧美精品久久| 男人天堂资源网| 亚洲精品成人网| 95精品视频| 超碰97人人射妻| 亚洲视频 欧洲视频| 天堂а在线中文在线无限看推荐| 国产精品视频网址| 亚洲黄色免费| 美国黄色片视频| 亚洲美女在线看| 精品999日本久久久影院| 久久久久久久久久久福利| 亚洲男同1069视频| 国产最新视频在线观看| 成人免费91在线看| 免费观看在线综合| 天天操夜夜操视频| 欧美乱大交xxxxx另类电影| 精品日韩一区|