全球主机交流论坛

标题: 分享一个监控负载然后做出相应处理脚本 [打印本页]

作者: usa    时间: 2010-12-11 14:50
标题: 分享一个监控负载然后做出相应处理脚本
疯狂的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压力系统负载过高而挂掉...
作者: qiqi13245    时间: 2010-12-11 14:52
  我的VPS内存不足挂掉是经常的
作者: 瘦够了    时间: 2010-12-11 14:54
额。。。
作者: skywing    时间: 2010-12-11 14:54
这可是个好东西
作者: pigliu    时间: 2010-12-11 15:03
谢谢
作者: skywing    时间: 2010-12-11 15:05
这个能不能做成一个服务项一直运行呢
作者: vpsusa    时间: 2010-12-11 15:10
感谢啊。。。好东东
作者: walkman660    时间: 2010-12-11 15:32
不错~ 好东西~ 曾经看到DEDE好像可以分表。。
作者: observer    时间: 2010-12-11 15:34
dede的代码有问题,我以前帮别人优化过dedecms的东东

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

以前我就是因为用了dedecms才对php的性能表示绝望,现在才觉得是dedecms自己的问题
作者: vclove    时间: 2010-12-11 15:35
mark。感谢
作者: 卡恩    时间: 2010-12-11 16:47

FDC
的256
昨晚差点超载
修改了php.ini
现在稳定80M
作者: rBowOtMWopx45ie    时间: 2010-12-11 17:19
放cron里面吧,不能一直跑,浪费资源。
作者: 瘦够了    时间: 2010-12-11 18:09

作者: ineme    时间: 2010-12-11 18:45
好,支持。其实我想拿分,哈哈。
作者: Poison    时间: 2010-12-11 18:56


求监控内存的功能
作者: 信仰    时间: 2010-12-11 18:57
放cron里面吧,不能一直跑,浪费资源。
作者: cuxian    时间: 2010-12-11 18:57
mark。感谢




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4