有时候会用readfile 直接读取并在浏览器上输出,但效率怎么样呢?
我测试的是600个图片同时用readfile来读取,在同一页面上显示,
结果php-cgi.exe进程大量增加,图片打开很慢,同服务器其他PHP程序打不开,
因为一张图片的读取和传输的时间远远大于一个普通页面,这样PHP进程很长时间不能释放,
造成大量php-cgi.exe生成,我最高生成200多个这样的进程。
结论:
如果需要一次性或者网站访问量过大,尽量不要用PHP来读取图片,一般服务器承受不起
如果必须要用PHP输出图片,请加个304状态的判断,这样可以减轻同一客户端对同一图片访问的压力。
通过测试600张图片的同时读取发现,使用PHP的readfile函数会导致php-cgi进程大量增加,图片加载缓慢,并影响服务器上其他PHP程序的运行。建议在高并发或大量图片处理场景下避免使用此方法。
305

被折叠的 条评论
为什么被折叠?



