php mysql 降_php fork太多进程导致整体性能下降,mysql down掉的解决._PHP教程

本文介绍了一位开发者针对PHP抓取导致的高sleep值问题,通过编写crontab脚本来监控并自动重启MySQL,确保系统的稳定运行。脚本通过检查mysql进程,当发现其挂起时,会主动停止php进程并重启mysql,记录操作日志。
摘要由CSDN通过智能技术生成

1.同事跑了一个php的抓取, 这个会导致非常高的sleep值,大概到好几千的水平.进而mysql会down掉.

写了个crontab

#crontab -e

[php]

* */1 * * * /sh/detect_php.sh

* */1 * * * /sh/detect_php.sh

detech_php 的内容

[php]

#!/bin/bash

host_dir=`cd /sh`

proc_name="mysql"

bug_time=`date -R`

pid=0

proc_num()

{

num=`ps -ef | grep $proc_name | grep -v grep | wc -l`

return $num

}

proc_id()

{

pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`

}

proc_num

number=$?

if [ $number -eq 0 ]

then

./restart_php_mysql.sh

proc_id

echo " Kill the php and new mysql pid is : ${pid} : ${bug_time} " >> php_mysql.log 2>&1

else

proc_id

echo " The mysql is working , ${bug_time} " >> php_mysql.log 2>&1

echo "it's ok!"

fi

#!/bin/bash

host_dir=`cd /sh`

proc_name="mysql"

bug_time=`date -R`

pid=0

proc_num()

{

num=`ps -ef | grep $proc_name | grep -v grep | wc -l`

return $num

}

proc_id()

{

pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`

}

proc_num

number=$?

if [ $number -eq 0 ]

then

./restart_php_mysql.sh

proc_id

echo " Kill the php and new mysql pid is : ${pid} : ${bug_time} " >> php_mysql.log 2>&1

else

proc_id

echo " The mysql is working , ${bug_time} " >> php_mysql.log 2>&1

echo "it's ok!"

fi

脚本解释,这个脚本非常简单的. 就是判断mysql进程是否为0, 如果为0,那么就去杀掉php,然后重启mysql.并且写入一个日志.

restart_php_mysql.sh 的内容

[php]

#!/bin/sh

killall -9 php

service mysql restart

#!/bin/sh

killall -9 php

service mysql restart

pkill会导致脚本在杀完进程后直接terminated. 所以这里不使用pkill.

http://www.bkjia.com/PHPjc/477528.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477528.htmlTechArticle1.同事跑了一个php的抓取, 这个会导致非常高的sleep值,大概到好几千的水平.进而mysql会down掉. 写了个crontab #crontab -e [php] * */1 * * * /sh/detect_p...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值