node.js - 如何测试nodejs并发请求

标签 node.js concurrency

我想写一个简单的代码来测试nodejs收到很多请求时的并发情况。

我使用loadtest模块来模拟使用此命令向服务器发送许多请求:

loadtest -c 10 --rps 200 http://localhost:3000/

我在 server.js 中编写的简单代码:

var http = require('http');
var server = http.createServer();
var cun=0;
var step=0;       

function handleRequest(req,res) {

console.log(step++);
        while(100000000>cun){
            cun++;
        }
        cun=0;
}

server.on('request', handleRequest);
server.listen(3000);

但是请求要等到 while 循环停止

并且知道要解决这个问题我应该使用回调函数,但不知道如何编写它。

最佳答案

var http = require('http');
var url = require("url");
var server = http.createServer();

function handleRequest(req, res) {
  res.writeHead(200, { 'content-type': 'text/plain'});

var params = url.parse(request.url, true).query;
var input = params.number;

/*
1- Use input param in a algorithm and process it
2- Insert data in to the db
3- select on db and return to the client
*/  

  res.end();
}
server.on('request', handleRequest);
server.listen(3000);

问题: 所有请求都在队列中等待,直到最后一个请求进程(process-insert-select)关闭

关于node.js - 如何测试nodejs并发请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32095369/

相关文章:

python - Node.js Python 外壳 : while true loop not working

node.js - 如何公开托管 OHIF 查看器

multithreading - 'asynchronous', 'non-blocking'和 'concurrent'相互暗示吗?

java - 从 Java BlockingQueue 并发按顺序处理工作项

javascript - 在 javascript 中显示实际的 [object Object]

node.js - 按 MEAN 中的 ID 显示图像

java - 通过 ReentrantReadWriteLock 中断等待的读取线程

django - django/apache 限制最大并发请求数

.net - 使用字典时 .NET 4 并发性能差

javascript - mongoDB与MongoClient的连接问题