2020-02-23 08:10:39
突然收到一台服务器负载过高告警,紧接着网站打开缓慢。
1、登录服务器,使用top命令看到Cpu行的iowait达到了70%以上,所以断定是IO负载过高的原因; 2、接着使用iotop -o命令发现,Nginx的写IO特别大,并且在上一步的top命令看到Nginx的进程状态为D,表示Nginx在等待IO已经为僵死状态; 3、这时候是清楚知道是Nginx在对文件系统进行大量的写操作导致的系统负载过高了,但还是不能知道具体Nginx在写什么文件导致的负载压力,所以我们还需要继续追查下去; 4、我们找到其中一个nginx worker进程的pid,使用lsof -p pid列出来的文件发现除了一些系统库文件及日志文件,还有相当多的fastcgi_temp/xxx文件,有可能与这些文件有关联; 5、再次使用strace -p pid追踪,发现nginx进程对某个fd进行大量的写操作,与lsof命令列出来的文件刚好符合; 6、使用iostat 1输出的大量写io的分区也与fastcgi_temp所在分区相符合; 7、猜测可能是外部正在上传大量的大文件给php-fpm,于是通过EZHTTP的小工具来查看实时流量,发现入站流量其实不大。
根据以上的故障分析,非常有可能是本机的某些程序通过http上传大量大文件。因为对程序逻辑不熟悉,也只是猜测。为了尽快恢复服务,决定实施以下解决方案。
既然清楚知道了fastcgi_temp io压力大,目前也无法短时间从根本上解决问题,所以决定把fastcgi_temp指向/dev/shm,也就是映射到了内存,重启nginx之后服务恢复了正常。最终原因还需要开发配合解决。
Nginx使用教程(四):提高Nginx网络吞吐量之buffers优化
04-05
为OpenResty项目编写自定义Nginx C模块
03-05
Nginx HTTP2配置教程
06-23
Nginx使用教程(一):下载并编译安装Nginx
07-07
CentOS7源码编译安装Nginx
06-11
Ubuntu 16.04配置Nginx使用GeoIP
07-12
【工作】Nginx 实现域名的登录验证功能
07-04
如何在CentOS 7上安装Nginx
07-05
IdeaCentre Y900虚拟BIOS界面
06-25
Kubernetes 应用故障的一些定位方法
02-17
Lenovo C560一体机BIOS模拟器
06-11
Lenovo一体机 C4005 BIOS模拟器
06-15
SureSCSI 212盘柜,如何标识故障硬盘?
06-25
Windows 10系统解决wsappx进程占用CPU电脑卡死的方法
02-17
万全T168服务器类似救护车报警声故障分析
04-03
台式机、一体机在BIOS中开启网卡的方法
07-14
在调用BIOS缺省设置后,按ACCESS IBM键没有反应
07-11
如何进入虚拟机BIOS设置界面
07-05
干净启动故障排除后如何将计算机重置为正常启动
04-06
手机故障基本检查测试方法
05-26
系统故障诊断工具Eusing Utilities v2.1 官方版
1.3M
下载蹭网防护器(带宽占用监测软件)v4.5 免费版
1.32MB
下载写字板软件(文字处理软件) v5.1 电脑版
3.2M
下载高木学习下载
48.6M
下载360高危漏洞免疫工具(WinRAR漏洞修复软件) v2.0.0.1020官方版
29.7M
下载3d蓝光播放器(高清3D影音播放软件) V1.8.0.4 绿色免安装版
36.8 MB
下载567网盘高速下载工具 (免费高速下载软件) v1.1 免费版
932K
下载FTP Rush(高性能 FTP 客户端) v2.2.0 绿色版
4.7M
下载Pitaya(智能写作软件) v0.1.8 官方版
5.3M
下载pptv聚力(高清视频播放器)7.2.6官方pc版
37.7 MB
下载壹写作
71.48 MB
下载快车flashget(高速下载工具) v3.7.0.1223 绿色版
7.6M
下载无损音乐播放器(高品质音频播放软件)v4.16.0 免费版
20.5M
下载易记听写播放器下载
5.9M
下载百度百科推广大师(高效百科推广工具) v1.7.1.10 绿色版
12.2M
下载迅雷7(高速下载工具)V7.2.11.3788 绿色版
14MB
下载Camtasia StudIO下载
455.6M
下载XIOn AudIO Player下载
4.57 MB
下载audIOlab(音频标签封面制作软件) v6.0.0 免费版
8.99MB
下载finaldata2.0下载
3.07 MB
下载