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