我在一个读取图片的程序中使用了readfile()并关闭了内存缓冲,确保不走内存。
但是进行资源监控时发现比Nginx直接输出图片多走了一倍IO。
Nginx的图片输出是读取磁盘文件->输出浏览器
PHP用readfile()是读取磁盘文件->交付至Nginx->输出浏览器
是因为多了交付至Nginx这一层逻辑导致的IO增倍吗?
个人测试,可能不太准确,望指正!谢谢
我在一个读取图片的程序中使用了readfile()并关闭了内存缓冲,确保不走内存。
但是进行资源监控时发现比Nginx直接输出图片多走了一倍IO。
Nginx的图片输出是读取磁盘文件->输出浏览器
PHP用readfile()是读取磁盘文件->交付至Nginx->输出浏览器
是因为多了交付至Nginx这一层逻辑导致的IO增倍吗?
个人测试,可能不太准确,望指正!谢谢
直接nginx输出的是直接输出文件流。php读入,是先php读入内存,再从内存输出文件流