我正在运行高流量的多个网站,作为要求,所有图像都通过image.PHP?id = IMAGE_ID_HERE下载.
如果你以前做过,你知道这个文件将会读取文件图像,并用专用的标题将其回显到浏览器.
如果你以前做过,你知道这个文件将会读取文件图像,并用专用的标题将其回显到浏览器.
我的问题是,服务器上的负载非常高(150-200),而TOP命令显示的是image.PHP的多个实例,因此image.PHP运行缓慢!
问题可能是在将图像发送到客户端之前将图像加载到内存中.如何阅读文件并直接传递文件?
感谢你们
UPDATE
优化代码后,尽可能使用缓存,创建CDN.几个服务器,同步方法,负载平衡器,无需再担心请求:)
fopen和file_get_contents几乎相当
加快您可以使用的页面加载
http://www.php.net/fpassthru
或者甚至更好
http://www.php.net/readfile
用这些功能,直接打印文件的内容,每字节的字节数
与file_get_contents相反,例如,将整个数据存储在变量中
$var = file_get_contents();
所以,为了使这些工作正常,您将需要禁用输出缓冲(否则会使readfile()无意义)在为图像服务的页面
希望这可以帮助!