优化Node.js入站/出站连接

我有关于node.js入站/出站连接的问题。 让我们考虑一下我的情况或者我想达到的目的: 我有例如每秒X入站http请求。 对于每个请求,我创build出站https请求给一些第三方(他们回应我平均300毫秒)。 当我收到这个第三方的回复时,我认为这个请求会被处理。 让我们想象第三方有很多很多的服务器,可以并行pipe理请求。 对于每个请求我有几个mongoDB查询(这是快速)。 我使用快速框架。 在我的笔记本电脑(4核心和4 GB的RAM与Windows和很多其他程序可能会损害性能可能会损坏)我能够得到每秒150个请求,但只有40个被处理。 我不知道:这实际上是现实吗?理论上我不能在这个世界上有更多或者某个地方能够获得一些解决scheme/技巧来改善我的performance吗? 感谢您的任何build议。

在express.js中实例化的控制器中的“this”的意外值

“this”似乎并不涉及实例化的预算控制器对象。 相反,它似乎是指全局对象。 有人知道为什么吗? 我已经定义了一个预算模型。 注入控制器,我试图简单地生成一个随机的6个string,当我在我的应用程序中打/预算。 相反,这个.DEFAULT_SLUG_LENGTH是不确定的,我不明白为什么。 这是一个愚蠢的testing案例,说明这个问题。 在引用另一个函数中的this.budget来根据slug值查询数据库时,我遇到了类似的问题。 //models/budget.js var Schema = require('jugglingdb').Schema; var schema = new Schema('postgres',{url:process.env.DATABASE_URL}); var Budget = schema.define('budgets',{ total: Number, slug: String }); module.exports = Budget; ==================== //controllers/budget.js function BudgetController (budget) { this.budget = budget; }; BudgetController.prototype.DEFAULT_SLUG_LENGTH = 6; BudgetController.prototype.generateSlug = function (req,res) { var slug = ""; var possible = […]

使用RegExp从url获取数据

我有页面上的博客链接列表 <ul class="postlist"> <li><a href="http://someblog.it/blogpost/7/—–.aspx">Post One</a></li> <li><a href="http://someblog.it/blogpost/32/———-.aspx">Post Two</a></li> <li><a href="http://someblog.it/blogpost/382/—–.aspx">Post Three</a></li> <li><a href="http://someblog.it/blogpost/5782/———–.aspx">Post Four</a></li> <li><a href="http://someblog.it/blogpost/11682/———–.aspx">Post Five</a></li> </ul> 并希望从这个URL的斜杠之间的所有数字的数组 $('a').each(function (index){ var str = $(this).attr('href'); var a = str.search(/[0-9]+/); var b = str.search(/-); console.log(str.substring(a,b)); }); 像7,32,382,5782,11682那样 http://jsfiddle.net/sYH56/

如何从节点mongo本机驱动程序获得数据库的实例?

考虑一下,我在主app.js文件中打开了MongoDB连接,下面的代码放在callbackapp.js : mongodb.connect('MongoDBUrlGoesHere', function (err, db) { app.listen(app.get('port'), function AppListnCB() { console.log("Server listening on port " + app.get('port')); }); }); 这完全是为了在整个应用程序中只有一个数据库实例。 现在,如果我们在另一个external.js文件中,并且需要一个已连接的同一个db对象。 如果我们使用蒙古语或mongoose,这可以很容易地完成 有人可以帮助我find如何使用本地驱动程序可以做到这一点?

nodejs中有多less个工作线程?是否可以修改数字以获得更好的性能?

据我所知,nodejs不是单线程的。 在后台,一个工作者线程池正在循环执行不能由epoll等完成的长期io任务。但是在后台有多less线程? 我找不到任何文件来grep数字。 如果我想要nodejs与mysql数据库合作,应该有多个线程来执行长期的查询任务。 如果只有一些nodejs提供的线程,一些sql查询就会阻塞,这是非常危险的。 所以我应该非常小心mysql模型定义和sql查询性能,而这真的是一种专门的工作。

如何在端口80上运行“Deployd”,而不是在Web服务器上运行端口5000。

我运行一个网站与“deployd”,我有问题,改变我的应用程序在端口5000上运行到80端口。我想要做的是不是有“mydomain.com:5000”,我只是想有“mydomain。 COM” 谢谢。

MongoDB:将数组添加到现有的数组中

我试图添加一个“讲师”数组到一个已经存在的“阵营”arrays。 分层结构看起来像这样: owner = { email : 'john.smith@gmail.com', password : 'mypassword', firstName : 'john', lastName : 'smith', camps : [ { name : 'cubs-killeen', location : 'killeen', manager : {name: 'joe black', email: '', password: ''}, instructors : [ { firstName : 'bill', lastName : 'jones', classes : [] }, { firstName : 'jill', lastName […]

Socket.IO不能在Windows和Chrome上运行

我使用node.js(0.10.10),socket.io(0.9.16)和Express(3.2.6)创build了一个类似于聊天服务器和客户端的Facebook。 在所有浏览器(包括所有版本的Internet Explorer)中都可以正常工作,但Windows上的Firefox(21.0)和Chrome(27.0.1453.116)无法正常工作。 它在OS X上的所述浏览器中工作。 当我尝试通过查看错误事件的返回数据来debugging错误时,数据总是未定义的。 我已经尝试了所有可能的运输。 这是我用来在Windows和Chrome上testing的聊天应用程序的简化代码: 客户: <script src="http://www.xserverx.com:8080/socket.io/socket.io.js"></script> <script> var ioUrl = 'http://www.xserverx.eu:8080'; var socket = io.connect(ioUrl, { 'reconnect': true, 'reconnection delay': 1500, //'sync disconnect on unload': true }); $('#send-button').click(function() { socket.emit('message', { message: $('#message').val() }); }); // Event listeners socket.on('connect', function() { // Display socket transport type // Is empty in […]

使用Azure移动服务计划任务访问Azure服务pipe理REST API

我目前正在使用Azure移动服务中的计划任务来完成以下项目(如果可能的话): 更新云服务部署configuration,使云服务进入维护模式。 等待预定的时间,以完成云服务中的任何待处理的工作。 执行云服务使用的SQL Azure数据库的备份。 等待另一个预定的时间长度以完成备份。 更新云服务部署configuration,使云服务退出维护模式。 我已经find了第3步,步骤2和4是相对微不足道的补充。 我的挂断是使用Azure服务pipe理REST Api 更新云服务部署configuration 。 (我在Node.js脚本中没有遇到过其他的方法) 。 使用提供的Node.js模块请求 (例如: http : //msdn.microsoft.com/en-us/library/windowsazure/jj631641.aspx )对端点的调用非常简单,但请求必须包含pipe理证书每http://msdn.microsoft.com/en-us/library/windowsazure/ee460782.aspx 所以我的问题是: 如何将我的pipe理证书附加到请求? 请记住,这是在一个计划任务(这是一个Node.js脚本)内完成的。

解释node.jsconfiguration文件输出?

test.js function test(){ for(var i=0; i<2000000000; ++i); }; test(); 用于分析它的命令: node –prof test.js nprof 输出: line 249: unknown code state: undefined line 252: unknown code state: undefined line 253: unknown code state: undefined line 256: unknown code state: undefined line 258: unknown code state: undefined line 259: unknown code state: undefined line 260: unknown code […]