Node.js 使API响应更快

Node.js 使API响应更快,node.js,api,express,sequelize.js,Node.js,Api,Express,Sequelize.js,我在express框架上有Node Js API,在sequelize上有MySQL数据库,而且我的API部署在生产模式下,但是我的API显示响应的时间太长了。我的API平均响应时间是900毫秒,太长了,我需要减少。我以异步方式调用API,但没有结果更改。我尝试了许多方法,但仍然没有结果更改。我在谷歌上搜索了很多次,但我发现同样的解决方案是异步运行的,所以我发布了这个问题,如果有人能帮我找到解决方案 APP.JS文件 /** * load environment variables **

我在express框架上有Node Js API,在sequelize上有MySQL数据库,而且我的API部署在生产模式下,但是我的API显示响应的时间太长了。我的API平均响应时间是900毫秒,太长了,我需要减少。我以异步方式调用API,但没有结果更改。我尝试了许多方法,但仍然没有结果更改。我在谷歌上搜索了很多次,但我发现同样的解决方案是异步运行的,所以我发布了这个问题,如果有人能帮我找到解决方案

APP.JS文件

/**

 * load environment variables

 **/

if (process.env.NODE_ENV == 'production') {

    require('dotenv').config({

        path: './env/production/.env'

    })

} else {

    require('dotenv').config({

        path: './env/development/.env'

    })

}


const compression = require('compression');
var express = require('express');
var bodyParser = require('body-parser');
const PORT = process.env.PORT || 3080;
var logger = require('morgan');
const http = require('http')
const cluster = require('cluster');
const numCPUs = require('os').cpus().length;
var app = express();

http.globalAgent.maxSockets = Infinity
//folder public access



// Include Cors
var cors = require('cors')
app.use(cors())

app.use(logger('dev'));

// for parsing application/json
app.use(bodyParser.json());

// for parsing application/xwww-
app.use(bodyParser.urlencoded({
    extended: true
}));

// Compress all HTTP responses
app.use(compression());
//Default route

app.get('/', function(req, res) {
    res.status(200).json({

        'uptime': process.uptime(),
        'api_url': `${process.env.BASE_URL}:${PORT}/api/`
    })
})



const commonFunction = require("./helpers/commonFunction");

//Authentication Middleware

app.use(function(req, res, next) {

    if (process.env.API_TOKEN != req.headers.apitoken) {

        res.status(401).json(commonFunction.errorBuilder(401, "Authentication Fail!"));

    } else {

        next()

    }

});



app.use('/api', require('./routes/routes'));



// catch 404 and forward to error handlerz
app.use(function(req, res, next) {

    var err = new Error('Not Found');

    err.status = 404;

    next(err);

});

if (cluster.isMaster) {
    console.log(`Master ${process.pid} is running`);
  
    // Fork workers.
    for (let i = 0; i < numCPUs; i++) {
      cluster.fork();
    }
  
    cluster.on('exit', (worker, code, signal) => {
      console.log(`worker ${worker.process.pid} died`);
    });
  } else {

    http.createServer(app).listen(PORT, () => { 

        console.log(`Server running at ${process.env.BASE_URL}:${PORT}/`);

    });
}

欢迎来到堆栈溢出!如果您想获得帮助,我们需要查看您的API正在执行的代码。@Arthuratout ok,我会向您展示,但我有app.js文件或routes.js或任何API代码。cb做什么?@Arthuratout回调排序表单不幸的是,这个问题实际上无法解决。。API请求的长时间延迟可能是由成千上万的原因造成的,从代码执行的繁重任务(例如,无论您在
cb
中做什么)、服务器计算机内存不足、网络资源不足、客户端资源不足、,等等。我建议您缩小问题的范围,如果您发现的是与代码相关的内容,请返回。
let getBuyerDashboard = async (req, res) => {

    async.parallel({

        category: await function(cb) {

            // some code
            cb(null, tmpArr)

        },

        ads: await function(cb) {

            // some code

        }

    }, function(error, results) {
        
        if (error) {

            res.status(400).json(commonFunction.errorBuilder(400, error));

        } else {

            res.status(constants.SUCESS_OK).json({"success":constants.SUCESS_OK, "message":'success', "data":results})

        }

    });

}