Teil von  SELFPHP   Teil von  Code Snippets / MySQL / Datenbank Informationen
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Datenbank-Traffic seit dessen Start ermitteln





Beispielaufgabe

Datenbank-Traffic seit dessen Start ermitteln.



Beschreibung

Die Funktion mysqlDbTraffic() berechnet den Traffic des MySQL-Servers seit dessen Start. Als Rückgabewert werden der gesendete Traffic, der empfangene Traffic sowie der Gesamt-Traffic in Bytes in einem Array geliefert. Zusätzlich formatiert die Funktion die jeweiligen Byte-Werte in die entsprechenden Größen ( z.B. MB, GB etc. ).
  • [bytes_received] => Die empfangenen Bytes
  • [bytes_sent] => Die gesendeten Bytes
  • [bytes_total] => Gesamt-Traffic in Bytes
  • [format_received] => Die empfangenen Bytes formatiert in MB, GB usw.
  • [format_sent] => Die gesendeten Bytes formatiert in MB, GB usw.
  • [format_total] => Der Gesamt-Traffic formatiert in MB, GB usw.




<?PHP 

function mysqlDbTraffic( ) {
    
    
$sql = "SHOW STATUS LIKE 'Bytes_%'";
    
    
$result = @mysql_query( $sql );
    
    while( ( 
$row = @mysql_fetch_array( $result, MYSQL_ASSOC ) ) == true ){
        
        if ( 
$row['Variable_name'] == 'Bytes_received' )
        
$Bytes_received = $row['Value'];
        
        if ( 
$row['Variable_name'] == 'Bytes_sent' )
        
$Bytes_sent = $row['Value'];
        
    }
    
        
    
$bytes['bytes_received'] = $Bytes_received;
    
    
$bytes['bytes_sent'] = $Bytes_sent;
    
    
$bytes['bytes_total'] = $Bytes_received + $Bytes_sent;
    
    
    
$bytes['format_received'] = binary_multiples( $Bytes_received, false );
    
    
$bytes['format_sent'] = binary_multiples( $Bytes_sent, false );
    
    
$bytes['format_total'] = binary_multiples( $Bytes_received + $Bytes_sent, false );
    
    
    return 
$bytes;
    
}

?>



Zusatzfunktionen

<?PHP

function binary_multiples($size, $praefix=true, $short= true)
{

    if(
$praefix === true)
    {
        if(
$short === true)
        {
            
$norm = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 
                          
'EB', 'ZB', 'YB');
        }
        else
        {
            
$norm = array('Byte', 
                          
'Kilobyte', 
                          
'Megabyte', 
                          
'Gigabyte', 
                          
'Terabyte', 
                          
'Petabyte', 
                          
'Exabyte', 
                          
'Zettabyte', 
                          
'Yottabyte'
                         
);
        }
        
        
$factor = 1000;
    }
    else
    {
        if(
$short === true)
        {
            
$norm = array('B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 
                          
'EiB', 'ZiB', 'YiB');
        }
        else
        {
            
$norm = array('Byte', 
                          
'Kibibyte', 
                          
'Mebibyte', 
                          
'Gibibyte', 
                          
'Tebibyte', 
                          
'Pebibyte', 
                          
'Exbibyte', 
                          
'Zebibyte', 
                          
'Yobibyte'
                         
);
        }
        
        
$factor = 1024;
        
    }
    
    
$count = count($norm) -1;
    
    
$x = 0;
    while (
$size >= $factor && $x < $count) 
    { 
        
$size /= $factor; 
        
$x++;
    } 
  
  
$size = sprintf("%01.2f", $size) . ' ' . $norm[$x];

    return 
$size; 

}

?>



Anwendungsbeispiel

<?PHP

$conn 
= @mysql_connect("localhost", "mysql_user", "mysql_password");

if (!
$conn) {
    echo 
"Fehlende Verbindung zur DB: " . mysql_error();
    exit;
}

print_r( mysqlDbTraffic( ) );

?>



Ausgabebeispiel: Browseransicht

Array
(
    [bytes_received] => 734298481
    [bytes_sent] => 1497365812
    [bytes_total] => 2231664293
    [format_received] => 700.28 MiB
    [format_sent] => 1.39 GiB
    [format_total] => 2.08 GiB
)






 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner LeaseWeb Germany GmbH
Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


DM Solutions
Microsoft Deutschland GmbH
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2013 E-Mail SELFPHP OHG, info@selfphp.de, Impressum, Kontakt