使用多个中间件对应用程序性能有何影响?或者多少中间件对应用程序性能有好处? [关闭]
Posted
技术标签:
【中文标题】使用多个中间件对应用程序性能有何影响?或者多少中间件对应用程序性能有好处? [关闭]【英文标题】:what can be the effect on performance of app for using multiple middleware? or what count of middleware would be good for app performance? [closed] 【发布时间】:2021-07-02 21:23:00 【问题描述】:根据http://expressjs.com/en/4x/api.html#middleware-callback-function-examples 和https://expressjs.com/en/guide/using-middleware.html 提到的文档,可以使用多个中间件。 但是,如果我在单个路由(路由器级别)中使用 100 个中间件,那么它会影响应用程序的性能。 或者任何最大数量的中间件可以在单个路由中使用?
【问题讨论】:
当然,你可以使用100个中间件。对应用程序性能的影响取决于中间件的作用。如果他们都只是调用next
,那么性能损失大约是 100-300 次额外的函数调用(取决于中间件的实现方式,我不知道)。我投票结束这个过于广泛/投机/思想实验。你有具体的问题要解决吗?
【参考方案1】:
您可以安装的中间件处理程序的数量没有编码限制。
您可以使用 100 个,但我认为如果您认真考虑单个路由上的 100 个单独的中间件处理程序,您可能会从不同的设计中受益。
是的,如果所有中间件处理程序都实际运行并查看请求,那么对于同一条路由都有无数的中间件处理程序会影响性能。你正在执行 100 个函数。这不是免费的。
【讨论】:
以上是关于使用多个中间件对应用程序性能有何影响?或者多少中间件对应用程序性能有好处? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 Rails 3 应用程序中使用 require_dependency 对性能有何影响?
在 web2py 中使用“rows.render()”对性能有何影响?