关于sendfile原理问题
来源:3-2 Nginx作为静态资源web服务_静态资源类型
烈焰卡卡
2020-04-17
老师您好,想问两个问题
- https://www.zhihu.com/question/52989189 在这个链接中,大家提到,对磁盘IO的读写是没有非阻塞一说的。那么当nginx中一些比如proxy cache等功能,将一些数据缓存在本地文件时,返回给客户端时是否也用的是sendfile的原理?否则如何通过非阻塞的方式来读取到文件内容然后返回给客户端连接。
- 想了解一下sendfile的原理,linux的sendfile是否也是异步的?当一个文件大小超过socket的缓冲区大小时,是需要nginx底层循环调用多次sendfile,还是sendfile一次,循环过程交给内核?如果是这样,那sendfile究竟是阻塞的还是非阻塞的?
写回答
1回答
-
Jeson
2020-04-18
sendfile的重点并不是异步IO呀?Nginx异步实现体现在epoll的事件流处理模型。sentfile是实现的是,内核态对静态文件的处理,不需要到用户态。
022020-04-19
相似问题