[英]NodeJS, Express, & Mongoose: Calls are intermittantly slow
我有一個非常簡單的nodeJS應用程序。 由於某種原因,服務器的響應時間差別很大。
這是我的app.js:
var express = require('express');
var http = require('http');
var path = require('path');
var Models = require('./schema/schema.js');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.json());
app.use(express.urlencoded());
app.use(express.static(path.join(__dirname, 'public')));
app.use(function(req, res, next) {
var start = Date.now();
res.on('header', function() {
var duration = Date.now() - start;
var time = Date.now() - req.start;
fs.appendFile("times.txt", time+"\n", function (err) {});
});
next();
});
app.use(app.router);
app.get("/tags", function(req, res) {
var query = Models.Tag.find({}).sort({'popularity': -1}).limit(200);
query.exec(function(err, tags) {
res.status(200);
res.send(tags);
});
}
數據總是正確返回,但這是我的響應時間,由'header'函數測量:
19
11
13
6
10
10
8
9
2
62449
57862
24919
9975
11
17
21116
10
3
2
2
13
大多數都不到10毫秒,但經常有一分鍾以上。 到底是怎么回事?
架構:
var tagSchema = new mongoose.Schema({
name : {
type: String,
trim: true
},
popularity :{
type:Number, default:0
},
created_date: {
type:Date, default:Date.now
},
last_update: {
type:Date, default:Date.now
}
});
您是否嘗試使用托管的mongo服務器,如mongohq,只是為了查看它是否是本地IO延遲問題? 一個小的數據庫不應該有任何問題,除非你做了一些瘋狂的事情,你顯然不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.