宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

为什么会发这篇文章呢,是因为在昨晚也就是9月11号的时候是在是忍不住了,我爆发了,直接导致网站无法访问,打不开了。事情是这样的,现在这个网站是使用宝塔Liux面板搭建的,网站搭建好后就一直是经常cpu、负载都是100%,就算是没有访问一是一样的,并且还用了CND,本以为是服务器问题,重新装了N次还是一样,后面一个一个排查,发现是网站程序的某个插件的问题,知道问题原因了,插件禁用后,还是会间接性出现这种问题,然后几天有看到一篇文章,详细的说了解决方案。

宝塔面板
这是我面板没有优化解决之前的负载状态

 

从我的的服务器截图来看,用户的服务器配置并不算高,单核CPU,内存也是有2G,但是运行一般的企业网站是足够的了。但是出现用户这样的宝塔服务器面板cpu、负载都是100%的问题,一般来说这种问题的可能性很多,有可能是程序性能、服务器负载能力、并发访问、木马病毒、被植入了挖矿程序等等,但是这四个问题可能引起宝塔面板CPU占满100%,负载100%网站缓慢,下面是问题的解决3个方法。

1、mysql篇

初步来说首先考虑使用 top 查看一下当前的负载情况,使用XSHELL工具连接到命令行操作界面,或通过宝塔面板->文件 点击终端进入命令行操作也可。

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

新版本的端口需要二次验证服务器权限,我们在步1处输入服务器的SSH链接密码,然后在步2处勾选记住密码(记住密码并不安全,这么做是为了方便),直接点击步3的确定即可登录到宝塔终端页面。

在下图我们直接输入命令 top,查看资源占用列表:

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

可以看到PID2185这个mysql的进程CPU占用比较高,已经达到83%,考虑到内存数值占用不多,面板的主要负载应该发生在mysql的读写,占用了大量的CPU资源,用户的访问先不考虑,首先考虑mysql的性能问题。

了解后发现网站程序的大小远远小于磁盘的大小,把垃圾桶里的文件也都删了还是满盘,最后我就到文件管理中看看到底是那个文件夹占了更多的磁盘,结果发现是数据库日志文件,占了一二十个G。发现内存的占用较少 ,看到这种情况,第一直觉可以优化一下mysql的性能,于是就在软件商店中找到了mysql软件,点开设置,找到日志管理(如下图),关闭了数据库的自动日志功能,同时清理了数据库的错误日志。

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

然后再去看宝塔的首页数据,负载、CPU、内存、磁盘使用量全部降低下来了,而且看了一下服务器上的网站打开速度,那实在是秒开啊。

2、php进程篇

考虑到目前PHP的广泛应用,大多站点在选用服务器配置时,没有提前对自己的项目源码做过压测,也不知道程序源码的性能如何,同样的一条业务指令,有的开发者写的就考虑的比较多,有的相对就少很多,还有对数据库的读写、磁盘的IO等等一些不确定的因素,布署好程序后,发现很多100%负载的情况。

其实,宝塔已经为我们做了很多工作,我们完全可以做出一些配置来,避免一些高负载的情况出现,比如,我们可以使用更高版本的PHP,也可以通过 宝塔面板之PHP参数及并发调整 来调整并发性能,来降低PHP进程堵塞

操作方法:

首先进入宝塔面板,然后打开软件管理,找到你正在使用的php版本,然后点开该版本的php设置;

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

点开设置后,在弹出的php设置弹出页面做点击安装扩展,然后找到opcache这个php缓存器,然后点击安装;

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

然后在点击左侧的配置修改,将最大脚本运行时间的数值调整的小一点,我用的是60

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

然后,再点开性能调整,看一下并发方案,如果运行并发数比较大,可以试着调小一点

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

运行模式:动态 | 静态

php-fpm至关重要的参数:

max_children;静态方式下开启的php-fpm进程数量
start_servers; 动态方式下的起始php-fpm进程数量
min_spare_servers;动态方式下的最小php-fpm进程数量
max_spare_servers;动态方式下的最大php-fpm进程数量

那到底是选用动态的好还是静态的好?

大内存的服务器(比如8G以上)来说,用静态的max_children实际上更为妥当,因为这样不需要进行额外的进程数目控制(这块提到点了,进程越多占的资源越大),会提高效率。因为频繁开关php-fpm进程也会有造成更多的资源占用,所以内存够大的情况下开静态效果会更好。数量也可以根据 总内存/30M 得到,比如8GB内存可以设置为100,那么php-fpm耗费的内存就能控制在 2G-3G的样子。

所以我们在实际的配置中,需要自己调配,这样可以大大的降低高负载的情况,此情况只适用于在使用top命令后,由php-fpm占用资源过大,来参考调整。

通过上面的方法,我的运行负载情况立马得到很大的改善,

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

 

3、内存篇

提到了可以通过安装php缓存,优化php配置以及优化mysql配置来进行缓解,毋庸置疑,通过以上方式效果已经很明显了,但是我们还可以通过合理设置虚拟内存来进一步提升。说到这里,我们不得不说,一个神奇的宝塔插件,那就是Linux工具箱,我们可以调整2个方面,来对内存扩展进行调整:

一是 添加swap交换分区
二是 添加内存盘

实际上,以上两种全是建立在磁盘空间的基础上来做的调整。(Windows下称为虚拟内存)

我们可以通过点击宝塔面板的软件商店,搜索:Linux工具箱,找到这个插件,点击操作区域的设置,进入Linux工具箱窗口,通过建立swap交换分区及内存盘,我们可以在增强服务器的稳定性前掉下,扩容内存的大小,以便解决一些相对配置较低,容易形成高负载而影响使用的服务器。

宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

然后按照下面的提示,将swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值。设置完确定保存即可。

以上就是宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题的3个解决方案,我设置完了是很丝滑了,遇到同样问题的小伙伴们可以去试试

智酷营销网站优化合作请加助理微信:SM011003

站内未注明转载来源均为网络整理原创文章,作者:网站SEO优化,如若转载,请注明出处:宝塔Liux面板CPU跑满100%,负载过高100%网站缓慢等问题解决方案

发表评论

登录后才能评论

评论列表(1条)

在线咨询
QQ咨询
微信咨询

添加专属客服

一对一为您答疑解惑 添加客服微信 立即扫码添加我吧
扫码关注

扫码关注微信

关注我们获取最新资讯 关注微信公众号 立即扫码关注我们