fs.readFileSync似乎比fs.readFile快-可以在生产环境中使用Web应用程序吗?

fs.readFileSync似乎比fs.readFile快-可以在生产环境中使用Web应用程序吗?,第1张

fs.readFileSync似乎比fs.readFile快-可以在生产环境中使用Web应用程序吗?

不,您无法在节点服务器中使用阻塞API调用。
您的网站对许多并发连接的响应能力将受到重大
打击。这也公然违反了节点的第一原则。

节点工作的关键在于,当它等待IO时,它同时在执行CPU /内存处理。这仅需要异步调用。因此,如果有100个客户端读取100个JSON文件,则节点可以要求 *** 作系统读取这100个文件,但是在等待 *** 作系统返回可用文件数据时,节点可以处理这100个网络请求的其他方面。如果您只有一个同步调用,则在该 *** 作完成时,所有客户端处理将完全停止。因此,当您
依次读取客户端1、2、3、4等的文件时,客户端编号100的连接将等待任何处理。这是维尔维尔。

这是另一个比喻。如果您去一家餐馆而且是唯一的顾客,那么如果一个人坐着,接您的订单,将其烹饪,送达给您,并处理账单,而没有与房东/女主人,服务员,厨师长,厨师,收银员等。但是,餐厅有100位顾客,额外的协调意味着事情并行发生,餐厅的整体响应能力大大提高,超过了一个人的情况。试图自己处理100个客户。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5126903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存