全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器IP归属甄别会员请立即修改密码美国地址
查看: 4545|回复: 16

[经验] 分享一个监控负载然后做出相应处理脚本

[复制链接]
发表于 2010-12-11 14:50:45 | 显示全部楼层 |阅读模式
疯狂的DEDE,数据太大导致生成负载压力增大,也没办法分表,采用的自动更新\自动生成,偶尔会造成VPS负载很搞,然后挂掉...
于是想到一个好办法...看代码:
  1. #!/bin/sh
  2. TOP_SYS_LOAD_NUM=10
  3. SYS_LOAD_NUM=`uptime | awk '{print $(NF-2)}' | sed 's/,//'`

  4. echo $(date +"%y-%m-%d") `uptime`
  5. if [ `echo "$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM"|bc` -eq 1 ]  
  6. then  
  7.     echo "#0#" $(date +"%y-%m-%d %H:%M:%S") "pkill mysql" `ps -ef | grep mysql | wc -l`
  8.     /etc/init.d/mysql stop
  9.     sleep 8
  10.     pkill mysql
  11.     sleep 8  
  12.     for i in 1 2 3  
  13.     do  
  14.         if [ `pgrep mysql | wc -l` -le 0 ]  
  15.         then  
  16.             /etc/init.d/mysql start
  17.             sleep 30  
  18.             echo "#1#" $(date +"%y-%m-%d %H:%M:%S") "start mysql" `ps -ef | grep mysql | wc -l`  
  19.         fi  
  20.     done  
  21. else  
  22.     if [ `pgrep mysql | wc -l` -le 0 ]  
  23.     then  
  24.         /etc/init.d/mysql start  
  25.         sleep 30  
  26.         echo "#2#" $(date +"%y-%m-%d %H:%M:%S") "start mysql" `ps -ef | grep mysql | wc -l`  
  27.     fi  
  28. fi
复制代码
这个是当系统负载达到10就自动重新启动MYSQL,你完全可以任意变通,比如重新启动PHP\NGINX\APACHE等等...好像可以解决下502问题,负载高的时候自动重新启动下php未尝不可...根据自己需要任意弄!
然后加个定时运行:
  1. */3 * * * * /home/wwwroot/kmysql.sh >>/home/wwwroot/kmysql.log
复制代码
你保存什么NAME这里写什么NAME,这个是3分钟检测一次!

应该完成了,如果你运行脚本出现:
: line 6: bc: command not found
: line 6: [: -eq: unary operator expected
表示没有bc命令,centos可以用 yum -y install bc 安装它 ....

OK完工....再也不怕VPS半夜DEDE自动更新的时候生成HTML导致MYSQL压力系统负载过高而挂掉...

评分

参与人数 6威望 +74 收起 理由
ssh + 10 可以监控内存么?
挨个搞 + 10 精品文章
Globalization + 20 转移板块
vclove + 7 表见笑,一共这么点
小夜 + 10 好人。

查看全部评分

发表于 2010-12-11 14:52:33 | 显示全部楼层
  我的VPS内存不足挂掉是经常的
发表于 2010-12-11 14:54:16 | 显示全部楼层
额。。。
发表于 2010-12-11 14:54:36 | 显示全部楼层
这可是个好东西
发表于 2010-12-11 15:03:27 | 显示全部楼层
谢谢
发表于 2010-12-11 15:05:43 | 显示全部楼层
这个能不能做成一个服务项一直运行呢
发表于 2010-12-11 15:10:01 | 显示全部楼层
感谢啊。。。好东东
发表于 2010-12-11 15:32:36 | 显示全部楼层
不错~ 好东西~ 曾经看到DEDE好像可以分表。。
发表于 2010-12-11 15:34:48 | 显示全部楼层
dede的代码有问题,我以前帮别人优化过dedecms的东东

1.数据库的索引建立得不科学,老版本尤为严重,新版本似乎还成
2.没看他们的更新代码,但是明显这种性能低得过分了,自己写页面生成脚本才是王道,性能可以比他们自用的好上20-30倍

以前我就是因为用了dedecms才对php的性能表示绝望,现在才觉得是dedecms自己的问题
发表于 2010-12-11 15:35:34 | 显示全部楼层
mark。感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2022-5-28 03:09 , Processed in 0.067480 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表