Esempio n. 1
0
    }
    // end for
    if ($unit != $GLOBALS['byteUnits'][0]) {
        $return_value = number_format($value, $comma, '.', ',');
    } else {
        $return_value = number_format($value, 0, '.', ',');
    }
    return array($return_value, $unit);
}
// end of the 'formatByteDown' function
////////////////// END FUNCTION LIST /////////////////////////
$HTMLOUT = '';
$HTMLOUT .= "<h2>Mysql Server Table Status</h2>\r\n\r\n    <!-- Start table -->\r\n\r\n    <table class='torrenttable' border='1' cellpadding='4px'>\r\n\r\n    <!-- Start table headers -->\r\n    <tr>\r\n\r\n    <td class='colhead'>Name</td>\r\n                    \r\n    <td class='colhead'>Size</td>\r\n                    \r\n    <td class='colhead'>Rows</td>\r\n                    \r\n    <td class='colhead'>Avg row lengtd</td>\r\n                    \r\n    <td class='colhead'>Data lengtd</td>\r\n                    \r\n    <!-- <td class='colhead'>Max_data_lengtd</td> -->\r\n                    \r\n    <td class='colhead'>Index length</td>\r\n                    \r\n    <td class='colhead'>Overhead</td>\r\n                    \r\n    <!-- <td class='colhead'>Auto_increment</td> -->\r\n                    \r\n    <!-- <td class='colhead'>Timings</td> -->\r\n                    \r\n    </tr>\r\n            \r\n    <!-- End table headers -->";
$count = 0;
$res = @mysql_query("SHOW TABLE STATUS FROM {$TBDEV['mysql_db']}") or stderr(__FILE__, __LINE__);
while ($row = mysql_fetch_array($res)) {
    list($formatted_Avg, $formatted_Abytes) = byteformat($row['Avg_row_length']);
    list($formatted_Dlength, $formatted_Dbytes) = byteformat($row['Data_length']);
    list($formatted_Ilength, $formatted_Ibytes) = byteformat($row['Index_length']);
    list($formatted_Dfree, $formatted_Fbytes) = byteformat($row['Data_free']);
    $tablesize = $row['Data_length'] + $row['Index_length'];
    list($formatted_Tsize, $formatted_Tbytes) = byteformat($tablesize, 3, $tablesize > 0 ? 1 : 0);
    $thispage = "&amp;Do=T&amp;table=" . urlencode($row['Name']);
    $overhead = $formatted_Dfree > 0 ? "<a href='admin.php?action=mysql_overview{$thispage}'><font color='red'><b>{$formatted_Dfree} {$formatted_Fbytes}</b></font></a>" : "{$formatted_Dfree} {$formatted_Fbytes}";
    $HTMLOUT .= "<tr align='right'>\r\n          <td align='left'><span style='font-weight:bold;'>" . strtoupper($row['Name']) . "</span></td>\r\n          <td>{$formatted_Tsize} {$formatted_Tbytes}</td>\r\n          <td>{$row['Rows']}</td>\r\n          <td>{$formatted_Avg} {$formatted_Abytes}</td>\r\n          <td>{$formatted_Dlength} {$formatted_Dbytes}</td>\r\n          <td>{$formatted_Ilength} {$formatted_Ibytes}</td>\r\n          <td>{$overhead}</td>\r\n        </tr>\r\n        <tr>\r\n          <td colspan='7' align='right'><i><b>Row Format:</b></i> {$row['Row_format']}\r\n          <br /><i><b>Create Time:</b></i> {$row['Create_time']}\r\n          <br /><i><b>Update Time:</b></i> {$row['Update_time']}\r\n          <br /><i><b>Check Time:</b></i> {$row['Check_time']}</td>\r\n        </tr>";
    //do sums
    $count++;
}
//end while
$HTMLOUT .= "<tr>\r\n      <td><b>Tables: {$count}</b></td>\r\n      <td colspan='6' align='right'>If it's <span style='font-weight:bold;color:red;'>RED</span> it probably needs optimising!!</td>\r\n    </tr>\r\n\r\n    <!-- End table -->\r\n    </table>";
print stdhead("MySQL Overview") . $HTMLOUT . stdfoot();
Esempio n. 2
0
mysql_free_result($res);
unset($res);
unset($row);
//Get query statistics
$queryStats = array();
$tmp_array = $serverStatus;
foreach ($tmp_array as $name => $value) {
    if (substr($name, 0, 4) == 'Com_') {
        $queryStats[str_replace('_', ' ', substr($name, 4))] = $value;
        unset($serverStatus[$name]);
    }
}
unset($tmp_array);
$TRAFFIC_STATS = '';
$TRAFFIC_STATS_HEAD = "<!-- Server Traffic -->\r\n        <b>Server traffic:</b> These tables show the network traffic statistics of this MySQL server since its startup";
$TRAFFIC_STATS .= "<table class='torrenttable' width='100%' border='0'>\r\n            <tr>\r\n                <td colspan='3' bgcolor='lightgrey'>&nbsp;Traffic&nbsp;&nbsp;&nbsp;Per Hour&nbsp;</td>\r\n            </tr>\r\n            <tr>\r\n                <td bgcolor='#EFF3FF'>&nbsp;Received&nbsp;</td>\r\n                <td bgcolor='#EFF3FF' align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_received'])) . "&nbsp;</td>\r\n                <td bgcolor='#EFF3FF' align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_received'] * 3600 / $serverStatus['Uptime'])) . "&nbsp;</td>\r\n            </tr>\r\n            <tr>\r\n                <td bgcolor='#EFF3FF'>&nbsp;Sent&nbsp;</td>\r\n                <td bgcolor='#EFF3FF' align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_sent'])) . "&nbsp;</td>\r\n                <td bgcolor='#EFF3FF' align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_sent'] * 3600 / $serverStatus['Uptime'])) . "&nbsp;</td>\r\n            </tr>\r\n            <tr>\r\n                <td bgcolor='lightgrey'>&nbsp;Total&nbsp;</td>\r\n                <td bgcolor='lightgrey' align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_received'] + $serverStatus['Bytes_sent'])) . "&nbsp;</td>\r\n                <td bgcolor='lightgrey' align='right'>&nbsp;" . join(' ', byteformat(($serverStatus['Bytes_received'] + $serverStatus['Bytes_sent']) * 3600 / $serverStatus['Uptime'])) . "&nbsp;</td>\r\n            </tr>\r\n        </table>";
$TRAFFIC_STATS2 = "<table class='torrenttable' width='100%' border='0'>\r\n        <tr>\r\n            <td colspan='4' bgcolor='lightgrey'>&nbsp;Connections&nbsp;&nbsp;&oslash;&nbsp;Per Hour&nbsp;</td>\r\n        </tr>\r\n        <tr>\r\n            <td bgcolor='#EFF3FF'>&nbsp;Failed Attempts&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Aborted_connects'], 0, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Aborted_connects'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . ($serverStatus['Connections'] > 0 ? number_format($serverStatus['Aborted_connects'] * 100 / $serverStatus['Connections'], 2, '.', ',') . "&nbsp;%" : "---" . "&nbsp;") . "</td>\r\n        </tr>\r\n        <tr>\r\n            <td bgcolor='#EFF3FF'>&nbsp;Aborted Clients&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Aborted_clients'], 0, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Aborted_clients'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . ($serverStatus['Connections'] > 0 ? number_format($serverStatus['Aborted_clients'] * 100 / $serverStatus['Connections'], 2, '.', ',') . '&nbsp;%' : '---') . "&nbsp;</td>\r\n        </tr>\r\n        <tr>\r\n            <td bgcolor='lightgrey'>&nbsp;Total&nbsp;</td>\r\n            <td bgcolor='lightgrey' align='right'>&nbsp;" . number_format($serverStatus['Connections'], 0, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='lightgrey' align='right'>&nbsp;" . number_format($serverStatus['Connections'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='lightgrey' align='right'>&nbsp;" . number_format(100, 2, '.', ',') . "&nbsp;%&nbsp;</td>\r\n        </tr>\r\n    </table>";
$QUERY_STATS = '';
$QUERY_STATS .= "<!-- Queries -->\r\n    <b>Query Statistics:</b> Since it's start up, " . number_format($serverStatus['Questions'], 0, '.', ',') . " queries have been sent to the server.<br />\r\n\r\n    <table class='torrenttable' width='100%' border='0'>\r\n        <tr>\r\n            <td bgcolor='lightgrey'>&nbsp;Total&nbsp;</td>\r\n            <td bgcolor='lightgrey'>&nbsp;&oslash;&nbsp;Per&nbsp;Hour&nbsp;</td>\r\n            <td bgcolor='lightgrey'>&nbsp;&oslash;&nbsp;Per&nbsp;Minute&nbsp;</td>\r\n            <td bgcolor='lightgrey'>&nbsp;&oslash;&nbsp;Per&nbsp;Second&nbsp;</td>\r\n        </tr>\r\n        <tr>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Questions'], 0, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Questions'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Questions'] * 60 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\r\n            <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($serverStatus['Questions'] / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\r\n        </tr>\r\n    </table><br />";
$QUERY_STATS .= "<table class='torrenttable' width='100%' border='0'>\r\n        <tr>\r\n            <td colspan='2' bgcolor='lightgrey'>&nbsp;Query&nbsp;Type&nbsp;</td>\r\n            <td bgcolor='lightgrey'>&nbsp;&oslash;&nbsp;Per&nbsp;Hour&nbsp;</td>\r\n            <td bgcolor='lightgrey'>&nbsp;%&nbsp;</td>\r\n        </tr>";
$useBgcolorOne = TRUE;
$countRows = 0;
foreach ($queryStats as $name => $value) {
    // For the percentage column, use Questions - Connections, because
    // the number of connections is not an item of the Query types
    // but is included in Questions. Then the total of the percentages is 100.
    $QUERY_STATS .= "<tr>\r\n          <td bgcolor='#EFF3FF'>&nbsp;" . htmlspecialchars($name) . "&nbsp;</td>\r\n          <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($value, 0, '.', ',') . "&nbsp;</td>\r\n          <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($value * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\r\n          <td bgcolor='#EFF3FF' align='right'>&nbsp;" . number_format($value * 100 / ($serverStatus['Questions'] - $serverStatus['Connections']), 2, '.', ',') . "&nbsp;%&nbsp;</td>\r\n      </tr>";
}
unset($countRows);
unset($useBgcolorOne);
$QUERY_STATS .= "</table>";
mysqli_free_result($res) || is_object($res) && get_class($res) == "mysqli_result" ? true : false;
unset($res);
unset($row);
//Get query statistics
$queryStats = array();
$tmp_array = $serverStatus;
foreach ($tmp_array as $name => $value) {
    if (substr($name, 0, 4) == 'Com_') {
        $queryStats[str_replace('_', ' ', substr($name, 4))] = $value;
        unset($serverStatus[$name]);
    }
}
unset($tmp_array);
$TRAFFIC_STATS = '';
$TRAFFIC_STATS_HEAD = "<!-- Server Traffic -->\n        <b>{$lang['mysql_stats_traffic_per_hour']}</b>{$lang['mysql_stats_tables']}";
$TRAFFIC_STATS .= "<table class='torrenttable' width='100%' border='0'>\n            <tr>\n                <td colspan='3' bgcolor='grey'>{$lang['mysql_stats_traffic_per_hour']}</td>\n            </tr>\n            <tr>\n                <td>{$lang['mysql_stats_received']}</td>\n                <td  align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_received'])) . "&nbsp;</td>\n                <td  align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_received'] * 3600 / $serverStatus['Uptime'])) . "&nbsp;</td>\n            </tr>\n            <tr>\n                <td>{$lang['mysql_stats_sent']}</td>\n                <td  align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_sent'])) . "&nbsp;</td>\n                <td  align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_sent'] * 3600 / $serverStatus['Uptime'])) . "&nbsp;</td>\n            </tr>\n            <tr>\n                <td bgcolor='grey'>&{$lang['mysql_stats_total']}</td>\n                <td bgcolor='grey' align='right'>&nbsp;" . join(' ', byteformat($serverStatus['Bytes_received'] + $serverStatus['Bytes_sent'])) . "&nbsp;</td>\n                <td bgcolor='grey' align='right'>&nbsp;" . join(' ', byteformat(($serverStatus['Bytes_received'] + $serverStatus['Bytes_sent']) * 3600 / $serverStatus['Uptime'])) . "&nbsp;</td>\n            </tr>\n        </table>";
$TRAFFIC_STATS2 = "<table class='torrenttable' width='100%' border='0'>\n        <tr>\n            <td colspan='4' bgcolor='grey'>{$lang['mysql_stats_connection_per_hour']}</td>\n        </tr>\n        <tr>\n            <td>{$lang['mysql_stats_failed']}</td>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Aborted_connects'], 0, '.', ',') . "&nbsp;</td>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Aborted_connects'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\n            <td  align='right'>&nbsp;" . ($serverStatus['Connections'] > 0 ? number_format($serverStatus['Aborted_connects'] * 100 / $serverStatus['Connections'], 2, '.', ',') . "&nbsp;%" : "---" . "&nbsp;") . "</td>\n        </tr>\n        <tr>\n            <td>{$lang['mysql_stats_aborted']}</td>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Aborted_clients'], 0, '.', ',') . "&nbsp;</td>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Aborted_clients'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\n            <td  align='right'>&nbsp;" . ($serverStatus['Connections'] > 0 ? number_format($serverStatus['Aborted_clients'] * 100 / $serverStatus['Connections'], 2, '.', ',') . '&nbsp;%' : '---') . "&nbsp;</td>\n        </tr>\n        <tr>\n            <td bgcolor='grey'>{$lang['mysql_stats_total']}</td>\n            <td bgcolor='grey' align='right'>&nbsp;" . number_format($serverStatus['Connections'], 0, '.', ',') . "&nbsp;</td>\n            <td bgcolor='grey' align='right'>&nbsp;" . number_format($serverStatus['Connections'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\n            <td bgcolor='grey' align='right'>&nbsp;" . number_format(100, 2, '.', ',') . "&nbsp;%&nbsp;</td>\n        </tr>\n    </table>";
$QUERY_STATS = '';
$QUERY_STATS .= "<!-- Queries -->\n    <b>{$lang['mysql_stats_query']}</b>{$lang['mysql_stats_since']}" . number_format($serverStatus['Questions'], 0, '.', ',') . "{$lang['mysql_stats_querys']}<br />\n\n    <table class='torrenttable' width='100%' border='0'>\n        <tr>\n            <td bgcolor='grey'>{$lang['mysql_stats_total']}</td>\n            <td bgcolor='grey'>{$lang['mysql_stats_per_hour']}</td>\n            <td bgcolor='grey'>{$lang['mysql_stats_per_minute']}</td>\n            <td bgcolor='grey'>{$lang['mysql_stats_per_seconds']}</td>\n        </tr>\n        <tr>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Questions'], 0, '.', ',') . "&nbsp;</td>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Questions'] * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Questions'] * 60 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\n            <td  align='right'>&nbsp;" . number_format($serverStatus['Questions'] / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\n        </tr>\n    </table><br />";
$QUERY_STATS .= "<table class='torrenttable' width='100%' border='0'>\n        <tr>\n            <td colspan='2' bgcolor='grey'>{$lang['mysql_stats_query_type']}</td>\n            <td bgcolor='grey'>{$lang['mysql_stats_per_hour']};</td>\n            <td bgcolor='grey'>&nbsp;%&nbsp;</td>\n        </tr>";
$useBgcolorOne = TRUE;
$countRows = 0;
foreach ($queryStats as $name => $value) {
    // For the percentage column, use Questions - Connections, because
    // the number of connections is not an item of the Query types
    // but is included in Questions. Then the total of the percentages is 100.
    $QUERY_STATS .= "<tr>\n          <td>&nbsp;" . htmlsafechars($name) . "&nbsp;</td>\n          <td  align='right'>&nbsp;" . number_format($value, 0, '.', ',') . "&nbsp;</td>\n          <td  align='right'>&nbsp;" . number_format($value * 3600 / $serverStatus['Uptime'], 2, '.', ',') . "&nbsp;</td>\n          <td  align='right'>&nbsp;" . number_format($value * 100 / ($serverStatus['Questions'] - $serverStatus['Connections']), 2, '.', ',') . "&nbsp;%&nbsp;</td>\n      </tr>";
}
unset($countRows);
unset($useBgcolorOne);
$QUERY_STATS .= "</table>";