Node.js 使用ExpressJS减少第一字节时间?

Node.js 使用ExpressJS减少第一字节时间?,node.js,express,Node.js,Express,我正在想办法加快速度。设置呈现模板的基本路由需要通过ping进行约280ms的响应。如果我在处理程序中放入一条日志消息,它几乎会在浏览器刷新时立即显示,但实际的响应需要300毫秒才能发回 是否存在可能会影响这一点的设置 这是我的路线: app.get '*', (req, res) -> if !req.user return res.redirect('/login') res.render 'index' 这是我所有的中间件和服务器配置: expres

我正在想办法加快速度。设置呈现模板的基本路由需要通过ping进行约280ms的响应。如果我在处理程序中放入一条日志消息,它几乎会在浏览器刷新时立即显示,但实际的响应需要300毫秒才能发回

是否存在可能会影响这一点的设置

这是我的路线:

app.get '*', (req, res) ->
    if !req.user
        return res.redirect('/login')
    res.render 'index'
这是我所有的中间件和服务器配置:

express = require 'express'
compression = require 'compression'
cookieParser = require 'cookie-parser'
bodyParser = require 'body-parser'
session = require 'express-session'
morgan = require 'morgan'
winston = require 'winston'
settings = require './settings'
user = require './user'

passport = require 'passport'
GoogleStrategy = require('passport-google-oauth').OAuth2Strategy
# Used for persisting sessions only
RedisStore = require('connect-redis')(session)

logger = new winston.Logger({
    transports: [
        new winston.transports.Console(),
        new winston.transports.File({filename: settings.PROJECT_DIR + 'logs.log'})
    ]
})

app = express()

# Misc
app.use morgan('dev')

# Express settings
app.set 'views', settings.PROJECT_DIR + 'views'
app.set 'view engine', 'jade'

oneDay = 86400000
app.use express.static(settings.PROJECT_DIR + "public", {maxAge: oneDay})
app.use compression()

# Parsers
app.use cookieParser('redacted')
app.use bodyParser()

# Users
app.use session
    secret: 'redacted'
    store: new RedisStore
    resave: false
    saveUninitialized: true
    cookie: {maxAge: 2592000000}

app.use passport.initialize()
app.use passport.session()

passport.use new GoogleStrategy
    clientID: 'redacted',
    clientSecret: 'redacted',
    callbackURL: "redacted"
    , (accessToken, refreshToken, profile, done) ->
        user.findOrCreate profile, (err, user) ->
            return done(err, user)

passport.serializeUser (user, done) ->
    done(null, user.id)

passport.deserializeUser (id, done) ->
    user.findById id, (err, user) ->
        done(err, user);

server = require('http').createServer app
routes = require('./routes') app

server.listen(9100)

我在服务器前面有一个nginx反向代理,但是通过ip和端口直接访问不会显示任何更改。

需要查看一些代码表达设置、路由上安装的中间件等。添加了很多额外的信息。请查看当您取下auth中间件时会发生什么。如果是这样的话,那么您至少对瓶颈所在的位置有一些了解。我不知道您的数据库中有多少用户信息数据,但哈希可能需要一段时间才能让您的用户第一次登录。另外,请尝试将
$NODE_ENV
设置为
production
以在Express中启用(或手动启用)。Oi,是设置了生产模式。想补充一下吗?