1

共有ホスティングで自分の Web サイトが CPU 使用率を超えてしまうという問題があります。

テストを行っているところですが、同じファイルに対して異なる CPU 値を取得できるようです。簡単なphpを挿入して簡単なhtmをテストしていますが、ほとんどの場合、CPU使用率は0です。しかし、この値が 25、35、さらには 85 に上がることもあります。

同じスクリプトに対して異なる CPU 使用率を設定するのは正しいですか? 単純なスクリプトで 85 前後になるのは普通ですか?

ありがとう

編集:スクリプトを使用して使用法を確認します:

public static function onRequestStart() {
    $dat = getrusage();
    define('PHP_TUSAGE', microtime(true));
    define('PHP_RUSAGE', $dat["ru_utime.tv_sec"]*1e6+$dat["ru_utime.tv_usec"]);
}

public static function getCpuUsage() {
    $dat = getrusage();
    $dat["ru_utime.tv_usec"] = 
        ($dat["ru_utime.tv_sec"]*1e6 + $dat["ru_utime.tv_usec"]) - PHP_RUSAGE;
    $time = (microtime(true) - PHP_TUSAGE) * 1000000;

    // cpu per request
    if($time > 0) {
        $cpu = sprintf("%01.2f", ($dat["ru_utime.tv_usec"] / $time) * 100);
    } else {
        $cpu = '0.00';
    }

    self::add_session_data($cpu); // this add data to db or display on the screen

    return $cpu;
}

onRequestStart() はスクリプトの最初にあり、getCpuUsage() は最後にあります。

4

1 に答える 1

0

スクリプトが遅いと思われ、改善に最適な領域を知りたい場合は、独自の CPU 使用率メーターを作成しようとしないでください。代わりに、XDebugXHProfなどのプロファイラーを使用する必要があります。彼らは、実行に時間がかかる関数とメソッドを教えてくれます。それらはあなたが焦点を当てるべきものです。

于 2013-02-02T15:48:53.773 に答える