Node-1.高性能服务器
文章目录 Node——高性能服务器 异步I/O与非阻塞I/O Nodejs的异步I/O 事件循环机制 Node与其他服务器比较 Node——高性能服务器 浏览器中JavaScript在单线程上执行,而且与UI渲染共享同一个线程,所以JavaScript在执行的时候UI渲染和响应是处于停滞状态的。如果网页获取资源时同步获取,那么会阻塞页面的其他操作,不能响应用户的交互行为,影响用户体验。 那Nodejs怎么解决性能上的问题?基于事件的非阻塞异步I/O ! 通过事件驱动节省为每个请求创建额外线程和切换线程的开销,使得服务器可以在大量连接的情况下也有条不紊地处理请求,非阻塞的设置让它可以更好地提升响应吞吐,使Nodejs构建了一套完善的 高性能 异步I/O框架。 异步I/O与非阻塞I/O 说到Node的经常会听到异步、非阻塞、回调、事件这些词语。实际上,异步和非阻塞都达到了并行I/O的目的,但是从计算机内核I/O而言,异步/同步和阻塞/非阻塞实际上是两回事。 操作系统内核对于I/O只有两种方式:阻塞与非阻塞。 阻塞I/O: 系统内核调用后一定要等系统内核层面完成所有操作后,调用才结束。 阻塞I/O造成CPU等待I/O,浪费等待时间,CPU的处理能力不能得到充分利用。如读取磁盘上的文件,系统内核在完成磁盘寻道、读取数据、复制数据到内存后,这个调用才结束。 非阻塞I/O: