帮助文档 > 系统入门 > 服务器相关问题 > CentOS

网站打开慢、CPU使用率100% 的问题排查思路和优化方案

网站打开慢的原因较多,一般从以下两个方面进行排查:


一. 查看服务器负载状态和CPU使用率是否过高;

CPU使用率100%一般是由于蜘蛛/爬虫/非正常访问/浏览人数、流量高/攻击/软件配置[PHP、数据库]不当导致的

1685432507100308.png



1.判断是否由于蜘蛛/爬虫、非正常访问、浏览人数、流量高的原因导致的,可以安装宝塔[网站监控报表]软件,查看网站流量、日志、访问人数等数据进行分析,对于蜘蛛/爬虫和非正常访问的请求使用服务器防火墙功能进行拦截;

1.png


2. 软件配置[PHP、数据库]性能调整,默认的性能配置参数可能不是最优的,可以根据服务器的硬件配置进行适当调整,然后重启软件即可;

2.png

3.png


3. 判断是否被攻击,可以安装宝塔[Nginx防火墙/Apache防火墙]软件进行查看,能有效防止sql注入/xss/一句话木马等常见渗透攻击,也可以在设置中添加IP白/黑名单对访客进行限制,以及对特定的User-Agent进行拦截,国内网站建议开启禁止海外访问的功能;

4.png


4. 如果是正常浏览人数多、流量较高,这种情况建议根据实际情况对硬件进行升级,或者使用负载均衡将流量分发到不同的服务器;


5. 服务器使用了占用CPU和内存高的软件,比如全站搜索[elasticSearch]、视频压缩[FFmpeg]、自动化部署[Jenkins]等,这种情况如果必须要使用这些软件的话,建议不要放在同一台服务器,或者根据情况提升的硬件配置;


二、负载和CPU状态正常,带宽不够

这种情况一般是由于服务器的公网带宽达到上限,很明显的表现就是在没有缓存的情况下访问一张图片打开的都很慢,这时可以通过登录云服务器厂商的控制台进行查看服务器的实时网络情况,如果确实已经跑满,建议升级带宽;


考虑到升级带宽的费用较高,可以先尝试以下方案:

1. 网站接入CDN,有效提升网站响应慢、静态资源的打开速度和减轻服务器带宽压力;

2. 网站附件远程化,把网站中的图片/视频等附件转移到阿里云OSS/华为云OBS/腾讯云COS/七牛云Kodo中,也可以减轻服务器带宽压力,同时网页、图片和视频的打开速度也会有所提升;

3. 网站静态资源文件远程化,把网站中的css/js/图标等文件单独存放在远程服务器/云存储中,也可以提升打开速度,减少服务器压力,该功能可以在后台系统基本参数中进行配置;

4. 开启网站Redis缓存功能,减少程序直接查询数据库的压力;

5. 网站后台删除不用的计划任务,卸载不用的模块,对于没有实际业务在运营中的模块,建议都删除掉;

6. 生成静态页面,进入网站后台-系统-系统工具-生成静态页面,分别点击生成大首页和生成模块首页,可以有效提升网站打开速度;