Tag: 加载

redis和watch + multi允许并发用户

我正在用一个web服务的相同电子邮件地址进行用户注册的负载testing,同时连接的前10个用户将始终注册。 我正在使用WATCH和MULTI,但似乎没有任何工作。 我打电话save()来保存用户。 this.insert = function(callback) { this.preInsert(); created = new Date(); updated = new Date(); // Also with these uncommented it still doesn't work // Common.client.watch("u:" + this.username); // Common.client.watch("em:" + this.email); console.log(ID + " email is locked " + this.email); Common.client.multi() .set("u:" + this.username, ID) .hmset("u:" + ID, {"username": this.username ,"password": this.password ,"email": […]

节点js TCP服务器,socket.on('data') – 数据缓冲区包含高负载的垃圾数据

我使用节点js的networking服务器并使用socket.on('data')函数接收数据。 parsingTCP消息我使用parsing缓冲区方法。 这将使用前4个字节作为TCP消息的长度,以便我可以从TCPstream中读取并形成单独的命令。总结高负载情况下,会有一些垃圾数据作为TCPstream的一部分返回,问题。 function onConnect(client) { var accumulatingBuffer = new Buffer(0); var totalPacketLen = -1; var accumulatingLen = 0; var recvedThisTimeLen = 0; client.on('data', function (data) { parseBuffer(client, data, accumulatingBuffer, totalPacketLen, accumulatingLen, recvedThisTimeLen); }); } 这里是parsebuffer方法。 function parseBuffer(client, data, accumulatingBuffer, totalPacketLen, accumulatingLen, recvedThisTimeLen) { recvedThisTimeLen = Buffer.byteLength(data); var tmpBuffer = new Buffer(accumulatingLen + recvedThisTimeLen); accumulatingBuffer.copy(tmpBuffer); […]

NodeJS负载/压力testing结果

我开发了一个基本的nodejs + express服务器,对于一个路由返回状态200,并在localhost上执行几个负载testing。 事情是,我不能通过这个简单的路线1000个请求/秒: app.get('/test',function(req.res){ res.status(200).send() } 对于1000个请求/秒,服务器performance正常,但在此之后,加载testing返回错误。 如何增加nodejs的这个值,这是一个好的结果吗? 这只是一个简单的路线,没有任何处理,所以我认为服务器应该接受更多的请求。 谢谢。

加载不是主要的npm模块的最佳实践

当我使用npm install jquery我可以使用例如Webpack加载它们,比如var jQuery = require('jquery') 。 这将检查node_modules中的模块,在jQuery的情况下,包含"main": "dist/jquery.js"的package.json。 到目前为止,一切都很清楚,不需要像require('../node_modules/jquery/dist/jquery.js')这样的特定path。 但是,假设我需要加载包含在同一个/dist目录中的jQuery的精简版本。 我这样做的想法是: 编辑package.json文件的主要条目,这不是很好,因为如果我用npm来引入一个新的版本,那么它会被覆盖 给Webpack提供文件的完整path,如require('../node_modules/jquery/dist/jquery.min.js') Bot方式感觉不太干净。 有一个更好的方法吗?

Task Runner Explorer窗口在我的Gulpfile.js下“加载失败”,并且没有任何构build进程被列出

这是随机更新我的CSS文件,然后刷新通知没有显示更改。 我最终注意到,Task Runner Explorer窗口在我的Gulpfile.js下没有加载,没有列出构build过程。 然后,我做了一些研究,重新排列外部工具的列表,正如一些SO线程提到的那样,没有任何东西。 然后我注意到gulpfile.js需要一些文件: var gulp = require("gulp"), gulpless = require("gulp-less"), sourcemaps = require("gulp-sourcemaps"), rimraf = require("rimraf"); 这些都不在node_modules文件夹中,所以我完成了npm install gulp-less和npm install gulp-sourcemaps,现在在Output> Task Runner Explorer中进行了检查,并且出现以下错误。 无法运行“C:\ projects \ Fusion \ FusionMVC \ Gulpfile.js”… cmd.exe / c gulp – 任务 – 简单 C:\项目\融合\ node_modules \吞-sourcemaps \ node_modules \ strip-.bom \ index.js:2 在Module.load(module.js:439:25)上的Module.exports = x […]

使用nodejs和mongoDB作为后端数据的延迟加载

我们的collections有大约1亿份文件。 我们创build了一个简单的应用程序,在mongo查询中使用带有限制子句的nodejs和expressjs。 到目前为止,用户已经足够了。 与此同时,我们试图实现延迟加载,以便初始页面加载返回less量文档,当用户滚动时,我们想要加载更多的文档。 挣扎着从哪里开始,如何提前实施它。 感谢您的build议。 我的index.js文件看起来像这样 router.get('/users', function(req, res) { var db = req.db; var users = db.get('users'); users.find(query, {limit: 10000}, function(e, docs){ res.render('users', { title: 'Users', 'users': docs }); }); }); 我想删除限制,并使用跳过试图实现这一点。 请发表您的build议

在节点上加载一个负载

我们有一个C#Web API服务器和一个Node Express服务器。 我们从C#服务器发出数百个请求到节点服务器上的路由。 节点服务器上的路由确实需要大量工作,并且通常不会返回6-8秒。 同时做出数百个这样的请求似乎会导致节点服务器失败。 节点服务器输出中的错误包括socket hang up或ECONNRESET 。 从C#方面的错误说 由于目标机器主动拒绝,所以不能build立连接。 处理不可预知数量的请求后发生此错误,这导致我认为它只是重载服务器。 在C#端使用Thread.Sleep(500)可以让我们获得更多的请求,并且在等待时摆弄或多或less的成功,但是线程hibernate很less有正确的答案,我认为这种情况是没有例外。 我们是不是把太多的压力放在Node服务器上? 这只能通过负载均衡或某种forms的集群来解决吗? 如果还有其他的select,它会是什么样子? 我开始探索的一条path是node-toobusy模块。 如果我返回503,下面的代码应该是什么过程? 我应该Thread.Sleep ,然后重新提交请求?

如何让node.js服务器也发送js文件?

我有一个node.js文件服务器运行哪(访问时)返回一个html内容。 同样在node.js文件的同一目录中,有一个名为test.js的JavaScript文件。 也在返回的HTML内容中,我需要加载该JavaScript文件。 但是,在HTML内容中,被返回,这被称为index.html ,脚本看起来像 <script type="text/javascript" src="test.js"></script> 但服务器不发送test.js文件,它只发送index.html文件,脚本链接从相同的目录加载它。 现在我不想给url的test.js文件。 我想要node.js文件也发送test.js文件,以便它最终在与index.html相同的目录。 然后index.html可以从同一个目录加载它。 有没有一种方法,我可以指定在node.js与代码也发送test.js文件? 谢谢。

node.js表示模块没有正确加载

Geos-Mac:hone georgiana$ npm list /Users/georgiana/local/hone ├─┬ express@2.3.6 │ ├── connect@1.4.1 │ ├── mime@1.2.2 │ └── qs@0.1.0 ├── gently@0.9.0 └── mysql@0.9.1 但是,包含一个简单的脚本 var express = require( 'express' ).createServer(); 给 Error: Cannot find module 'express' at Function._resolveFilename (module.js:322:11) ……… 当试图使用快递。 请注意 Geos-Mac:hone georgiana$ npm express -v 1.0.6 和 Geos-Mac:hone georgiana$ node -v v0.5.0-pre 有任何想法吗?