【问题标题】:Meteor iron-router on server-side route - why so slow?服务器端路由上的 Meteor Iron-router - 为什么这么慢?
【发布时间】:2015-03-14 08:39:28
【问题描述】:

11,222 个请求/秒,原始节点...

var http = require('http');
http.createServer(function(req, res) {
    res.end('done');
}).listen(1337, '127.0.0.1');

=

gobench -c 100 -t 5 -u http://localhost:1337

Requests:                            56112 hits
Successful requests:                 56112 hits
Network failed:                          0 hits
Bad requests failed (!2xx):              0 hits
Successfull requests rate:           11222 hits/sec
Read throughput:                   1369156 bytes/sec
Write throughput:                  1349088 bytes/sec
Test time:                               5 sec

但是在 Meteor 中使用 Iron-Router 服务器端路由返回相同的东西......

Router.route('/test', function() {
    this.response.end('done');
}, {
    where: 'server'
});

=

gobench -c 100 -t 5 -u http://localhost:3000/test

Requests:                             6544 hits
Successful requests:                  6544 hits
Network failed:                          0 hits
Bad requests failed (!2xx):              0 hits
Successfull requests rate:            1308 hits/sec
Read throughput:                    189776 bytes/sec
Write throughput:                   164771 bytes/sec
Test time:                               5 sec

瓶颈是 Meteor 还是 Iron-Router?

【问题讨论】:

    标签: node.js meteor iron-router


    【解决方案1】:

    瓶颈是几件事的结合。

    当您使用普通的http 服务器时,您会错过 Meteor 和 Iron Router(bodyparser 和路由匹配)和路由匹配套件(meteor 端)使用的中间件。还要记住 Iron Router 使用正则表达式来匹配路由。

    另一件事是在meteor run 模式下(不是来自meteor build 的捆绑应用程序)在应用程序本身之上有一个额外的代理服务器。

    还有一些其他中间件可以检查从哪里路由文件(即它是否是静态资产)(包括哪个架构(cordova 或客户端)。

    此外,index.html 文件必须在 Meteor 中的每个运行时生成。

    Meteor 使用的中间件的提示来自webapp 包:https://github.com/meteor/meteor/blob/devel/packages/webapp/webapp_server.js

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2014-03-27
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 2016-08-26
      • 2013-12-09
      • 1970-01-01
      相关资源
      最近更新 更多