ホームページ  >  記事  >  バックエンド開発  >  PHP がフォークするプロセスが多すぎるため、全体的なパフォーマンスが低下します。_PHP チュートリアル。

PHP がフォークするプロセスが多すぎるため、全体的なパフォーマンスが低下します。_PHP チュートリアル。

WBOY
WBOYオリジナル
2016-07-14 10:10:101006ブラウズ

1. 同僚が php クロールを実行すると、おそらく数千レベルに達する非常に高いスリープ値が発生します。その後、mysql がダウンします。

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=`日付 -R`
pid=0

proc_num()
{
num=`ps -ef grep $proc_name | wc -l` | $num を返します
}

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

proc_num
番号=$?
if [ $number -eq 0 ]
それから
./restart_php_mysql.sh
proc_id
echo " php を強制終了し、新しい mysql pid は : ${pid} : ${bug_time} " >> php_mysql.log 2>&1
それ以外は
proc_id
echo "mysql は動作しています、${bug_time} " >> php_mysql.log 2>&1
エコー「大丈夫ですよ!」 はい

#!/bin/bash

host_dir=`cd /sh`

proc_name="mysql"

bug_time=`日付 -R`

pid=0

proc_num()
{

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

$num を返します
}

proc_id()
{

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

}

proc_num
番号=$?

if [ $number -eq 0 ]

それでは
./restart_php_mysql.sh
proc_id
echo " php を強制終了すると、新しい mysql pid は : ${pid} : ${bug_time} " >> php_mysql.log 2>&1
それ以外
proc_id
echo "mysql は動作しています、${bug_time} " >> php_mysql.log 2>&1
「大丈夫です!」とエコー
ふぃ

スクリプトの説明ですが、このスクリプトはmysqlのプロセスが0かどうかを判定するものです。0の場合はphpをkillしてからmysqlを再起動してください。

restart_php_mysql.sh

の内容

[php]

#!/bin/sh
キルオール -9 php

サービスmysqlの再起動


#!/bin/sh
キルオール -9 php
サービスmysqlの再起動

pkill を使用すると、プロセスを強制終了した後にスクリプトが直接終了します。そのため、ここでは pkill は使用されません。

http://www.bkjia.com/PHPjc/477528.html

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/477528.html技術記事 1. 同僚が php キャプチャを実行しました。これにより、おそらく数千レベルの非常に高いスリープ値が発生します。その後、mysql がダウンします。 crontab #crontab -e [php] * */1 * * * /sh/detect_p...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。