大佬教程收集整理的这篇文章主要介绍了node.js – 单个请求需要很长时间才能使用这些非阻塞I / O服务器会发生什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,一个请求进来,计算需要200ms,这将阻止其他请求,例如nodejs使用单个线程.
这意味着每秒15K将大幅下降,因为计算给定请求的响应所需的实际时间.
但这对我来说似乎不对,所以我问的是究竟发生了什么,因为我无法想象这是怎么回事.
如果你在节点中做了一些计算量很大的事情,那么在完成之前没有其他任何东西可以使用cpu,但是由于一个非常不同的原因:cpu实际上很忙.通常这不是人们说“阻塞”时的意思,相反,它只是一个很长的计算.
如果它不涉及I / O并且纯粹在进行计算,那么200ms是需要很长时间才能完成的.说实话,这可能不是你应该在节点上做的事情.更符合节点精神的解决方案是在节点调用的另一个(非javascript)程序中进行那种数字运算,并在完成时调用回调.假设您有一台多核机器(或另一台程序在不同的机器上运行),节点可以继续响应请求,而另一台程序则会崩溃.
有些情况下集群(正如其他人提到的那样)可能有所帮助,但我怀疑你的集群是其中之一.当你有很多很多小的请求时,群集真的是为了cpu而不是单个核心可以处理的,而不是你有单个请求需要花费数百毫秒的情况.
以上是大佬教程为你收集整理的node.js – 单个请求需要很长时间才能使用这些非阻塞I / O服务器会发生什么?全部内容,希望文章能够帮你解决node.js – 单个请求需要很长时间才能使用这些非阻塞I / O服务器会发生什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。