开发者社区> 问答> 正文

nginx + php 上传图片报warn,什么原因?

网站是nginx+php,有个接口是接受用户上传的图片,当接口并发量大的时候会报nginx warn

a client request body is buffered to a temporary file /var/cache/nginx/client_temp/*****

查了一下资料,应该是客户端请求内容大于缓冲区,请求内容被写入临时文件 一般用户上传的图片都有1M左右,是否可以

client_body_buffer_size 1024k

疑问:这样是否就是将请求保存在内存中?那么请求量大的时候会不会因为内存不足造成更大的问题

最近服务器负载会飙高,估计也和这个接口有关系,上传图片比较慢导致大量php进程在处理,是否有其它替代方案?

展开
收起
落地花开啦 2016-06-14 17:48:26 2546 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果你设定了最大的buffersize,那么当这个maxbuffer_size小于可以使用的内存大小时,是不会报内存不足的,这点可以不用担心。如果要坚持用php做这个的话,我个人觉得只能加强些硬件性能了,否则可以换一种异步io的方式做做看(nodejs),但不见得一定有效,也不知道会不会有其他方面的问题。

    2019-07-17 19:38:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载