Node.js 使用ExpressJS减少第一字节时间?
我正在想办法加快速度。设置呈现模板的基本路由需要通过ping进行约280ms的响应。如果我在处理程序中放入一条日志消息,它几乎会在浏览器刷新时立即显示,但实际的响应需要300毫秒才能发回 是否存在可能会影响这一点的设置 这是我的路线: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
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,是设置了生产模式。想补充一下吗?