php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.08.2004, 10:20  
Gast
 
Beiträge: n/a
Standard Server Auslastung auslesen.

Hallo erstmal an alle! Nettes Board.. viele nützliche Sachen.


Aber hier gleich nochwas, was ich noch nicht gefunden habe:

Kann man in PHP irgendwie die Serverauslastung auslesen?


Danke schon mal.
mfg Phoenix-Net
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.08.2004, 16:22  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Hi!

Sofern möglich (in Bezug auf Safe Mode) könntest Du via popen() bzw. proc_open() vmstat verwenden um die entsprechenden Informationen auszulesen - wohl aber eher unwahrscheinlich.
Infos zu vmstat findest Du unter http://www.rt.com/man/vmstat.8.html

Alternativ könnte der Systemadministrator (Du?) bsp. einen Cronjob einrichten, über den die aktuelle Auslastung unter Verwendung von bsp. vmstat zyklisch in eine Datei geschrieben wird, die Du dann per PHP auslesen kannst.
carrib ist offline   Mit Zitat antworten
Alt 18.08.2004, 17:53  
Gast
 
Beiträge: n/a
Standard

Danke.. ging ja fix

Gibt es nicht vielleicht einen spezielle PHP Funktion die die Prozessor Auslastung zurück gibt, oder vielleicht eine Konstante in der am Anfang eines Scriptes genau diese gespeichert wird?
  Mit Zitat antworten
Alt 18.08.2004, 17:57  
Gast
 
Beiträge: n/a
Standard

keine die da standard mäsig enthalten wäre.
  Mit Zitat antworten
Alt 18.08.2004, 18:47  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard vmstat Auswertung

Söööö denne, hab' ein kleines Beispiel für das Auswerten der Informationen von vmstat geschrieben, sollte einfach und nachvollziehbar sein.
PHP-Code:
<?php

/**
 *    vmstat_extract()
 *
 *    @param    param_vmstat_output    Ausgabe die von vmstat erzeugt wurde.
 *
 *    Diese Funktion verarbeitet die Ausgabe eines vmstat-Aufrufs
 *    (siehe [url]http://www.rt.com/man/vmstat.8.html[/url]) und liefert ein assoziatives
 *    Array mit allen Informationen. Die Spalten können je nach System
 *    variieren (siehe [url]http://phplens.com/phpeverywhere/node/view/21[/url])
 */
function vmstat_extract($param_vmstat_output) {
    
// Initialisierung
    
$vmstat_assoc = array();

    
// Aufsplitten der Zeilen
    
$vmstat_lines explode("\n"trim($param_vmstat_output));

    
// Zeile mit Spaltennamen extrahieren
    
$vmstat_columns trim($vmstat_lines[1]);
    
// Überflüssige Leerzeichen vor dem Splitten entfernen
    
while(!(strpos($vmstat_columns"  ") === false)) {
        
$vmstat_columns str_replace("  "" "$vmstat_columns);
    }
    
$vmstat_columns explode(" ",  $vmstat_columns);

    
// Zeile mit den Messwerten extrahieren
    
$vmstat_stats trim($vmstat_lines[2]);
    
// Überflüssige Leerzeichen vor dem Splitten entfernen
    
while(!(strpos($vmstat_stats"  ") === false)) {
        
$vmstat_stats str_replace("  "" "$vmstat_stats);
    }
    
$vmstat_stats explode(" ",  $vmstat_stats);

    
// Assoziatives Array mit vmstat Bezeichnungen erstellen
    
for($num_col 0$num_col count($vmstat_columns); $num_col++) {
        
$vmstat_assoc[$vmstat_columns[$num_col]] = intval($vmstat_stats[$num_col]);
    }

    
// Rückgabe des assoziativen Arrays
    
return($vmstat_assoc);
}


// Ausgabebeispiel von vmstat für die Demonstration mit vmstat Ergebnis (Linux)
$vmstat_result_linux "procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0  16640 119332  28760 310896    0    0    12    32    5    17  3  0 97  0"
;

// Ausgabebeispiel von vmstat für die Demonstration mit vmstat Ergebnis (SunOS)
$vmstat_result_sunos "procs     memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr f0 s0 s1 s2   in   sy   cs us sy id
 0 1 0 2011344 50640 23   1 381 192 194 0 9 0  2 18  3  339   52  403  5  2 93"
;


// Auswerten der Ausgabe - Linux
$vmstat_stats_linux vmstat_extract($vmstat_result_linux);
// Auswerten der Ausgabe - SunOS
$vmstat_stats_sunos vmstat_extract($vmstat_result_sunos);


// Ausgabe der gelesenen Werte
echo "<pre>
Linux
Swap              : {$vmstat_stats_linux['swpd']}
CPU Usage (User)  : {$vmstat_stats_linux['us']}
CPU Usage (System): {$vmstat_stats_linux['sy']}
CPU Usage (Idle)  : {$vmstat_stats_linux['id']}

SunOS
Swap              : {$vmstat_stats_sunos['swap']}
CPU Usage (User)  : {$vmstat_stats_sunos['us']}
CPU Usage (System): {$vmstat_stats_sunos['sy']}
CPU Usage (Idle)  : {$vmstat_stats_sunos['id']}
</pre>"
;

?>
Jetzt bleibt nur noch die Frage der eleganten Beschaffung der Werte ....
carrib ist offline   Mit Zitat antworten
Alt 18.08.2004, 20:46  
Gast
 
Beiträge: n/a
Standard

ich hab das jetzt nur überflogen, geht das auf mit windoof?
  Mit Zitat antworten
Alt 18.08.2004, 21:01  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Du kannst das Verfahren auch anwenden, wenn Du ausreichende Berechtigungen auf einem Server (Ausführen eigener Executables) und ein kleines Tool für Windows hast, welches Dir diese Information auf Kommadozeilenebene ausgibt. Das Verfahren ist ja nix wildes und Tools dafür gibts.

Scheint zwar toll zu sein, Systeminformationen auszulesen (bsp. mit psinfo, sh. http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml) und diese auszuwerten, allerdings stellt sich da die Frage der Notwendigkeit. Das Messen der CPU Auslastung ist für Serverbetreiber sinnig, normale User haben in der Regel keine Möglichkeit vmstat oder vergleichbare Tools auszuführen und benötigen diese Informationen meist auch nicht wirklich.
carrib ist offline   Mit Zitat antworten
Alt 19.08.2004, 01:23  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von carrib
... und benötigen diese Informationen meist auch nicht wirklich.
Jo, stimmt.. Aber mich würde es trotzdem mal sehr interessieren. Ich hatte eine etwas einfacher Methode erhofft, werde aber deine vielleicht mal bei gelegenheit ausprobieren.

THX Phoenix-Net
  Mit Zitat antworten
Alt 02.09.2004, 12:31  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Noch als Nachtrag: Für die Erhebung von Systeminformationen kann das Projekt
PHPSysInfo (@sourceforge)
möglicherweise sehr hilfreich sein.

Projektbeschreibung:
Zitat:
PHPSysInfo is a customizable PHP Script that parses /proc, and formats information nicely. It will display information about system facts like Uptime, CPU, Memory, PCI devices, SCSI devices, IDE devices, Network adapters, Disk usage, and more.
carrib ist offline   Mit Zitat antworten
Alt 06.10.2004, 23:02  
Gast
 
Beiträge: n/a
Standard

Danke, klingt viel versprechend
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei von Server zu Server übertragen GSJLink PHP-Fortgeschrittene 5 05.05.2008 14:17
Daten aus RSS-Datei ohne PHP5 auslesen? BartTheDevil89 PHP Tipps 2008 6 10.12.2007 22:54
[Erledigt] Server durchsuchen mit php PHP Tipps 2008 7 18.08.2007 12:24
Root server mit PHP auslesen? einballimwasser PHP Tipps 2007 3 18.06.2007 09:49
Server für shell_exec() / exec() vorbereiten Martek Server, Hosting und Workstations 2 16.03.2007 15:03
streaming von videos, server lahmt bereits nach einem abruf snowflow Server, Hosting und Workstations 6 30.11.2006 18:04
Frage zu Windows Server 2003 b++ Off-Topic Diskussionen 1 03.03.2006 09:41
[Erledigt] verschiedene Versionen auf einem W2K3 Server betreiben PHP Tipps 2006 2 13.01.2006 17:39
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Funktionssammlung auf externen Server auslagern PHP Tipps 2005 20 29.05.2005 14:04
Neuer Strato Server apache 2 Mod Rewrite & htaccess Prob Stemmi Server, Hosting und Workstations 4 02.05.2005 00:29
[Erledigt] Mit PHP Script auf einem Root Server per SSH einlogen PHP Tipps 2005 5 27.03.2005 19:24
[Erledigt] Dateien vom server auslesen? PHP Tipps 2005 11 07.01.2005 16:40
eMail Attachment auslesen und auf Server speichern? becks123 PHP Tipps 2004-2 1 14.12.2004 11:54
Datei vom Server auslesen PHP Tipps 2004 3 21.10.2004 15:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php cpu auslastung auslesen, php serverauslastung, serverauslastung php, php server auslastung, serverauslastung messen, php serverlast, serverauslastung, linux cpu auslastung anzeigen, php cpu auslastung einlesen, php cpu auslastung anzeigen, linux serverauslastung, php cpu last auslesen, php serverlast auslesen, server auslastung, php serverauslastung anzeigen, server auslastung php, serverlast php, php serverlast anzeigen, vmstat auswerten, serverauslastung script

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.