0

私は自分のウェブサイトのために何かをしようとしています。具体的には、稼働時間のためにスクリプトを作成しようとしています。

テーブルからパーセントを読み取るスクリプトであるリーダーがあります。

4

2 に答える 2

0

これは、リレーショナル データベースを効率的に使用する方法ではありません。代わりに、(少なくとも SQL 側では) 次のことをお勧めします。

CREATE TABLE `servers` (
  `srv_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  -- Additional Fields Omitted here.
  PRIMARY KEY (`srv_id`)
)
ENGINE = InnoDB;
CREATE TABLE `stats` (
  `stat_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `srv_id` INTEGER UNSIGNED NOT NULL,
  `date` TIMESTAMP NOT NULL,
  `uptime` INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY (`stat_id`)
)
ENGINE = InnoDB;

このようにして、好きな数のサーバーに対して好きなだけ測定値を記録し、SQL を使用して古いコンテンツを削除するか、古いコンテンツを保持し、WHERE引数を使用して、これらの統計を表示するインターフェイスで使用されるデータをフィルター処理できます。

于 2011-03-25T13:36:23.943 に答える
0
        $day = int(strftime("%j") % 5);
        $key = 'day' . $day;
        if($row[$key] == 0)
        {
            if($checkls && $checkgs) //if server is online update the percent
                mysql_query("UPDATE s_stats SET ${key}=".($stats_row[$key] + 0.5)." WHERE srv_id=".$r[id]." ")  or die(mysql_error()); //every 7.2 minutes add 0.5 percent
            else echo "error day $day";
        }
于 2011-03-25T13:42:09.663 に答える