Express.js性能问题

Express.js有性能瓶颈。 情况如下。 客户端是Backbone / Marionette / RequireJS完整的SPA.Server是用sails.js编写的。 Sails仅用作REST服务器(不提供任何HTML)。这两种应用程序都在AWS-Windows实例的一台机器上提供。 WIndows服务器2012 32x。

帆是作为单独的节点进程服务的。 客户是另一个独立的过程。 服务器响应时间是即时的,而客户端是可怕的。 * .js文件不断下载一次又一次。 这里是我仅用于服务客户端的脚本。

"use strict"; process.env.NODE_ENV = "production"; var allowCrossDomain = function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'content-type, Authorization, Content-Length, X-Requested-With, Origin, Accept'); if ('OPTIONS' === req.method) { res.send(200); } else { next(); } }; var path = require("path"), express = require("express"), app = express(); app.configure('production', function () { var oneYear = 31557600000; //31557600000 app.set('port', process.env.PORT || 80); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(allowCrossDomain); app.use(app.router); //Serve the root app.use(express.static(__dirname + './../', { maxAge: oneYear } )); console.log("Started!"); }); app.listen(80) 
  1. 这个简约的Express服务器有什么问题吗? 该脚本位于项目的根目录中的文件夹中。

  2. 如果我用Apache提供这些脚本,我会得到更好的结果吗? IIS? 使用其他任何节点,有点击败了我猜的目的…但我愿意做任何事情来最终解决这个问题。 如果使用IIS为我的客户端服务是完全有效的,那就这样吧。 我只需要指示。

在Ubuntu实例(我无法使用)上启动相同的项目要快得多,他们使用Apache来为Backbone Client服务。 响应时间很棒。 而他们和我们的实例则在Micro实例上服务。

当我放大实例(Windows)时,像M1.Medium这样的东西,那么一切都变得更好,更快。 当然,我们会使用付费实例来实现这个项目…… Ubuntu实例的运行速度远远超过Windows。 也许这是正常的,因为Windows Server有更大的内存和CPU的足迹? 我只是不知道。

对此有何想法?