簡體   English   中英

NodeJS,Express和Mongoose:呼叫間歇性地緩慢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM