站长梦想,靠谱的在线交易网站 帮助 每日签到

记一次优化网站:负载100%怎么办?

分类:站长经验 时间:2019-02-20 00:35 浏览:2680
概述
经常有站长在我们东坡网的群里问网站cpu100%怎么办,网站速度慢怎么办,一直想写篇文章教大家,但不得空。这几天刚好有一位站长也为此困扰,我帮他优化了一下,效果良好,这里记录一下一下优化过程,给有需要的站长参考。这位站长的网站基
内容

经常有站长在我们东坡网的群里问网站cpu100%怎么办,网站速度慢怎么办,一直想写篇文章教大家,但不得空。这几天刚好有一位站长也为此困扰,我帮他优化了一下,效果良好,这里记录一下一下优化过程,给有需要的站长参考。

这位站长的网站基本情况是这样的:服务器上有2个网站,总IP3w,PV约30w,8核16G,带宽不详,宝塔面板,lamp。最近几天网站网站大部分时间处于负载100%情况。

接到任务后,就拿到了服务器的root账号密码,网站后台账号密码。登录网站后台,发现2个网站一个是帝国cms7.2,一个是帝国cms7.5.

一、用top命令查看网站负载情况

发现一个问题:每当cpu100%时,mysqld程序占cpu比较高,而且php-fpm进程数量大幅度增加。另外内存使用不多,有富余。

二、检查一下服务器环境配置

(1)还用的是PHP5.3

这个不能忍,都9012年了,升级到PHP7.1

PHP升级完后网站程序发生问题,ecms7.2的那个站不支持php7,于是给程序打补丁;有个插件在php7下也不能正常运行,出现乱码,修正。

(2)php-fpm的性能配置错误

原来用的是动态,50线程的设置,这个肯定不够。鉴于这台机器16G富余的大内存,调整为静态,500线程

以上2个操作后,持续观察24小时,发现负载100%的情况相较之前有较大幅度减少,但还在难以接受的范围内,继续优化。

三、查看服务器日志

(1)php-fpm的慢日志

打开慢日志slow.log发现,网站使用的一款前台关键性插件,经常性超时。解决方法:使用东坡网的动态缓存插件

(2)mysql的慢日志

此服务器的mysql慢日志没有开启,只能手动开启,然后等待。打开日志后,发现问题

select searchid,keyboard from phome_enewssearch where iskey=0 and classid='7' order by onclick desc limit 4;

update phome_ecms_news set onclick=onclick+1 where id='5635' limit 1;

以上两种语句,经常执行时间超过5秒,再对照时间与面板的负载曲线时间,基本吻合,至此找到问题的关键症结。

分析第一个sql语句,发现这是网站使用了热门搜索词标签导致的,其实这个标签在前台根本没有效果,客户写标签就是错误的,果断在模板里删除这个热门搜索功能

第二个语句,是动态页中的点击统计,这个语句每天执行约30w次,锁表并发不够导致问题,所以在动态页中屏蔽了这个统计,改用其它方法统计点击。

------------------------

至此,网站的负载100%问题解决。

 

插曲:在修改后观察网站负载过程中,有天凌晨负载突然升高,查看网站访问日志,发现有可疑IP段访问网站,防火墙禁用之


评论
联系我们
Q Q:258266
电话:18132120255
邮箱:pr888_admin@163.com
时间:09:00 - 19:00
底部广告
联系客服
购买源码 源码咨询 订制开发 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部