You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Nginx Pagespeed模块日志中“Slow write operation on file...”报错的含义及解决方法

Nginx Pagespeed模块日志中“Slow write operation on file...”报错的含义及解决方法

嘿,我来帮你拆解这个问题~首先明确一点:这条日志其实是警告信息,不是致命错误,不会直接导致网站挂掉,但它在提示你Pagespeed模块的缓存写入操作变慢了,咱们一步步来分析:

报错的具体含义

这条日志是说,Pagespeed模块往缓存文件/usr/share/nginx/ngx_pagespeed_cache/...McMo-Art-Tryclops-1-scaled.webp,.tempqfKyZe写入数据的时候,花了61.512毫秒,超过了模块默认的“慢操作”阈值。

默认情况下,Pagespeed的SlowFileLatencyUs参数设置的是10000微秒(也就是10毫秒),只要写入操作耗时超过这个值,就会触发这条警告日志。

可能的原因

出现这种情况,通常和存储或服务器资源有关:

  • 存储设备性能拉胯:比如用的是老旧的机械硬盘(HDD),或者磁盘本身IO负载很高(比如其他进程在跑备份、大文件读写);
  • 缓存所在磁盘空间不足:磁盘快满的时候,文件系统的写入效率会大幅下降;
  • 服务器内存不足:内存不够时系统会启用swap分区(虚拟内存),swap的读写速度比磁盘还慢,间接拖慢缓存写入;
  • 缓存路径或文件系统特性:比如缓存目录嵌套太深,或者文件系统本身的性能限制。

解决/优化方法

根据你的实际情况,选合适的方案就行:

1. 调整慢操作阈值(最简单的应急方案)

如果这个警告只是刷屏,没影响网站访问速度,你可以直接把阈值调大,让它不再触发警告。

  • 打开Nginx的Pagespeed配置文件(通常在/etc/nginx/conf.d/pagespeed.conf或者主配置文件里);
  • pagespeed on;下面添加一行:
    pagespeed SlowFileLatencyUs 100000;
    
    这里设置的是100000微秒(100毫秒),你可以根据实际情况调整;
  • 重启Nginx生效:sudo systemctl restart nginx

2. 优化存储性能(从根源解决)

  • 换成SSD:如果现在用的是HDD,换成SSD能直接把磁盘IO速度提升好几倍,缓存写入慢的问题基本就解决了;
  • 检查磁盘空间:用df -h命令查看缓存目录所在分区的使用率,如果超过80%,赶紧清理无用文件或者扩容;
  • 降低磁盘IO负载:用iostat -x 1或者top(看%wa列,这个是IO等待占比),如果发现IO等待很高,看看是不是有其他耗IO的进程(比如定时备份、日志归档),把这些任务调整到业务低峰期执行。

3. 优化Pagespeed缓存配置

  • 把缓存移到内存文件系统:可以把Pagespeed缓存放到tmpfs(内存挂载的文件系统)里,写入速度会快很多,但要注意tmpfs重启会清空缓存,而且要确保服务器内存足够。
    • 先创建缓存目录:sudo mkdir /dev/shm/ngx_pagespeed_cache && sudo chown www-data:www-data /dev/shm/ngx_pagespeed_cache
    • 修改Pagespeed配置:
      pagespeed FileCachePath /dev/shm/ngx_pagespeed_cache;
      
    • 重启Nginx生效;
  • 定期清理过期缓存:Pagespeed默认会自动清理过期缓存,但你可以调整清理频率,比如改成每天清理一次(86400000毫秒=24小时):
    pagespeed FileCacheCleanIntervalMs 86400000;
    

4. 优化服务器资源

  • 升级内存:用free -h查看内存使用情况,如果可用内存很少,考虑升级服务器内存,避免系统依赖swap;
  • 关闭swap(内存足够时):如果内存够用,直接关掉swap能减少磁盘IO负担,临时关闭用sudo swapoff -a,永久关闭需要修改/etc/fstab文件,注释掉swap相关的行。

额外提醒

如果这条警告没有导致网站响应变慢,其实也可以不用特意处理,它只是在告诉你缓存写入的性能情况而已。

备注:内容来源于stack exchange,提问作者DanRan

火山引擎 最新活动