追記
元記事はDBサーバだったようですね。読んでないのバレバレでした。ただ、アプリケーションサーバでforkを多用しサーバが重いケースは何回か見てきているパターンなので負荷の高いアプリケーションを作成するときの要注意ポイントとして読んでいただければと思います。
/追記

クラウドがネットワークゲーム開発者にもたらしてくれたもの - Keep Crazy;shi3zの日記

クラウドはあまり関係がないんだけど、CPUのSystemを使い杉ってことで、どういうことをやるとSystemを使うのか再現実験。おそらくfork(2)が原因だと予想。flashの生成でswfmillコマンドを叩いているとか

以下のコードは無限ループでforkを行っています。子プロセスは何もせずにすぐに終了し、親プロセスは子プロセスの終了を確認した後、すぐにforkを行います。

#!/usr/bin/perl

use strict;
use warnings;
my $pid;
while(1) {
    $pid = fork;
    if ( $pid ) {
        waitpid( $pid, 0 );
    }
    else {
        exit;
    }
}

waitpid( $pid, 0 );

このコードを実行し、CPU使用率をmpstatで見てみます

$ mpstat 5  
Linux 2.6.28-15-server (vs1-1)  08/26/10        _x86_64_        (2 CPU)

01:13:55     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
01:14:00     all   10.20    0.00   40.10    0.00    0.00    0.10    0.00    0.00   49.60
01:14:05     all    8.00    0.00   42.40    0.00    0.00    0.10    0.00    0.00   49.50
01:14:10     all    8.30    0.00   40.40    0.00    0.00    0.00    0.00    0.00   51.30
01:14:15     all    8.80    0.00   39.70    0.00    0.00    0.00    0.00    0.00   51.50
01:14:20     all    9.60    0.00   35.10    0.00    0.00    0.00    0.00    0.00   55.30

Systemに40%、Userに10%ぐらい。同じようなCPU使用率が再現できていると思いますが、どうでしょう? forkは新しいプロセスを作成するkernel内部の処理。Systemはkernelが使用したCPU時間から計算されます。

あわせて読みたい: ライブドア、携帯電話向けのソーシャルゲーム環境に最適な、 フラッシュコンテンツの動的合成配信ASPサービス 「DATAHOTEL(データホテル) FLDS(エフエルディーエス)」の提供を開始

このブログ記事について

このページは、Masahiro Naganoが2010年8月26日 00:55に書いたブログ記事です。

ひとつ前のブログ記事は「プラレール 成田エクスプレスをもらったよ」です。

次のブログ記事は「CloudForecastでgearmandのキュー数を監視する」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja