案例3:nginx服务器磁盘空间耗尽导致服务异常
问题:Nginx作为图片服务器前端,某天其中一实例在生产环境无任何变更的情况下收到报警提示:500状态码在整体流量中占比过高。
解决:快速将此机器从生产环境中摘除,不再提供服务;
经排查nginx错误日志发现如下报错“open() "/home/work/upload/client_body_temp/0000030704" failed (28: No space left on device)”;
Nginx处理请求时,会将客户端POST长度超过client_body_buffer_size请求的部分或者全部内容暂存到client_body_temp_path目录,当磁盘空间被占满时,产生了以上的报错;
最终,我们确认了本次异常是产品后升级支持上传的图片大小由15MB改为50MB,并且运营方进行了新产品推广活动,用户上传图片量激增快速打满磁盘空间所致。