php fork太多进程导致整体性能下降,mysql down掉的解决.
fork
php
下降
导致
性能
进程
1.同事跑了一个php的抓取, 这个会导致非常高的sleep,大概到好几千的水平.进而mysql会down掉. 写了个crontab #crontab -e * */1 * * * /sh/detect_php.sh detech_php 的内容 #!/bin/bashhost_dir=`cd /sh`proc_name=mysqlbug_time=`date -R`pid=0proc_num(){n
1.同事跑了一个php的抓取, 这个会导致非常高的sleep值,大概到好几千的水平.进而mysql会down掉.
写了个crontab
#crontab -e
* */1 * * * /sh/detect_php.sh
登录后复制
#!/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 的内容
#!/bin/sh killall -9 php service mysql restart
登录后复制
pkill会导致脚本在杀完进程后直接terminated. 所以这里不使用pkill.
改进的
#!/bin/bash host_dir=`cd /sh` log_dir="/var/log/php_mysql_log/" proc_name="mysql" bug_time=`date -R` pid=0 now_time=`date +%F` log_file="${log_dir}${now_time}.log" log_detect() { if [ ! -d "$log_dir" ]; then mkdir "$log_dir" fi if [ ! -f "$log_file" ] then touch "$log_file" fi } 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.sh proc_id log_detect echo " Kill the php and new mysql pid is : ${pid} : ${bug_time} " >> ${log_dir}${now_time}.log 2>&1 else proc_id log_detect echo " The mysql is working ,${pid} : ${bug_time} " >> ${log_dir}${now_time}.log 2>&1 echo "it's ok!" fi
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
1 个月前
By DDD
R.E.P.O.最佳图形设置
2 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
1 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
2 周前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu
