Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
性能/延迟差异-Node.js中的动态和静态路由_Node.js_Performance_Routes_Latency - Fatal编程技术网

性能/延迟差异-Node.js中的动态和静态路由

性能/延迟差异-Node.js中的动态和静态路由,node.js,performance,routes,latency,Node.js,Performance,Routes,Latency,如果我决定使用干式方法并动态设置路由,其中一条路由可以处理多个不同的任务,这会导致延迟问题吗 这是我的第一个Node.js项目,我仅将其用作使用RESTful体系结构处理请求的后端,最终用户请求的一些数据可能非常大 在node.js中决定使用动态路由还是静态路由时是否存在性能差异。我有大约10种不同的资源可以在那里获得具体的路线 app.get('/resource1', .... app.get('/resource2', .... app.get('/resource3', .... app

如果我决定使用干式方法并动态设置路由,其中一条路由可以处理多个不同的任务,这会导致延迟问题吗

这是我的第一个Node.js项目,我仅将其用作使用RESTful体系结构处理请求的后端,最终用户请求的一些数据可能非常大

在node.js中决定使用动态路由还是静态路由时是否存在性能差异。我有大约10种不同的资源可以在那里获得具体的路线

app.get('/resource1', ....
app.get('/resource2', ....
app.get('/resource3', ....
app.get('/resource4', ....
....
大约一半的用户将传递参数或某种查询。我将其配置为动态设置,然后在中使用排序逻辑,然后像这样处理请求

app.get('/:resource* ', ....

 [sorting logic for every case]

 [handle request]

我假设这将导致更高的延迟。在这种情况下,权衡和最佳做法是什么?

大多数路由处理逻辑都会占用少量您无法检测到的处理时间。无论如何,最好以最清晰的方式编写,这样静态路由才有意义。网络延迟对事情的影响远远超过对路由排序的少量处理


有关性能和延迟的信息,请参见以下有用的链接:

以最清晰、最简单的方式编写代码。您的场景之间的差异可以忽略不计,不需要进行优化。如果您想优化到该级别(没有理由这么做),那么就放弃使用任何框架,自己编写本机http处理程序。感谢您的输入,我还发现了异步模块。我不知道异步模块与路由解析有什么关系。您的路由解析可能都是同步的,因此使用异步库没有任何意义。谢谢,这很有帮助,因为我从未在“真实世界”中做过任何工作,我的项目第一次被“真实世界”中的某个人审查,我希望他们将其视为“专业”,因为我可能在不知不觉中开发了一些“不专业”的习惯