sys_getloadavg for MySQL

228 views Asked by At

Is there something like this, but for MySQL?

<?php
if (function_exists('sys_getloadavg')) {
    $load = sys_getloadavg();

    if ($load[0] > 60) {
        header('HTTP/1.1 503 Too busy, try again later');
        die('Server too busy. Please try again later.');
    }
}
1

There are 1 answers

0
Hartmut Holzgraefe On BEST ANSWER

There's no standard function for that for sure.

So your options are:

1) if on linux: read from `/proc/loadavg', e.g.:

create table loadavg(l1 int, l2 int, l3 int, entities varchar(100), last_pid int);
[...]
truncate loadavg;
load data infile '/proc/loadavg' into table loadavg fields terminated by ' ';
select l1 from loadavg;

2) write a User Defined Function in C to retrieve the value

I'm pretty sure I've seen a UDF for this in the past, but my Google skills fail me in finding it again right now ...