Auslastung der Netzwerkkarten anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auslastung der Netzwerkkarten anzeigen

    Hallo,
    erstmal vorweg, ich kenne mich nicht allzu gut mit PHP aus.

    Folgendens Scenario:

    Wir haben in der Firma einen Windows Rechner der Dateien über eine Website bereitstellt. Die Ordner werden einfach über ein Alias in Xampp aufgelistet.
    Der Rechner hat mehrere Netzwerkkarten.
    Gibt es ein Script das die Auslastung der Netzwerkkarten anzeigen kann, oder vielleicht sogar bei einer Auslastung von über XX% die nächstbeste Karte nutzt?

    Danke schonmal für eure Antworten.

    MfG
    Sp1k3

  • #2
    Da PHP meist zum Verarbeiten eingehender Anfragen verwendet wird (ich weiß nicht, wie das bei euch aussieht), käme die Entscheidung an der Stelle dann viel zu spät, weil die Verbindung dann schon da ist. Für sowas gibt es doch DNS Server oder multilayer switches.

    Erklär nochmal genauer, wie ihr PHP einsetzt. Wenn es für stinknormales SAPI-Skripting ist, wird das so nichts, denke ich.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Erklär nochmal genauer, wie ihr PHP einsetzt.
      Wir nutzen eigentlich nur ein PHP Script:
      Angenommen die Seite hat 5 Links die alle auf ein anderes Virtuelles Verzeichnis zeigen. In diesem Verzeichnis liegt dann ein Script mit dem man durch die Unterordner browsen und Dateien herunterladen kann.

      Das funktioniert sicherlich auch über ein Alias (ohne Script), aber das sieht halt nicht wirklich ansprechend aus.

      Nun wollte ich halt - falls möglich - die Netzwerkauslastung auslesen und auf der Seite in einem kleinen Fenster am Rand anzeigen lassen.

      Das mit dem Load Balancing ist ein Bonus, der nicht unbedingt sein müsste. Das würde ich dann anders regeln.

      Es geht mir hauptsächlich um die Anzeige.

      Da der Taskmanager von Windows das ausgeben kann, müsste man die Werte doch theoretisch auch anders irgenwo alslesen können oder?

      Kommentar


      • #4
        Zitat von Sp1k3 Beitrag anzeigen
        Da der Taskmanager von Windows das ausgeben kann, müsste man die Werte doch theoretisch auch anders irgenwo alslesen können oder?
        Das dachte ich auch, oder halt der Systemmonitor, aber die sind beide ausschließlich grafisch. Ich finde auch sonst kein konsolenbasiertes Windows-Programm, dass man dafür nehmen kann. Am besten du lädst dir von irgendwo einen DOS-Netzwerkmonitor runter und sprichst dann per PHP über proc_open (oder verwandte) damit.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Per iphlpapi.dll sollte es gehen.
          Soweit ich weiß, ist sie beim Windows SDK dabei.
          Vorsicht, es sind einige Fakes (trojaner usw.) im Netz unterwegs.
          http://corelibrary.sourceforge.net/d...HlpApi_8h.html
          Zuletzt geändert von combie; 18.08.2009, 19:50.
          Wir werden alle sterben

          Kommentar


          • #6
            Du willst wirklich eine Art umgekehrtes Load Balancing machen?
            Das sieht mir von hier aus nach einer ziemlich unausgegoreren Idee aus (außer ich verstehe dich total falsch). Das wird schon daran scheitern, daß, wenn mal wirklich so viel Traffic da ist, daß die Netzwerkkarte überlastet ist, dein Webserver samt PHP-Skript sich schon lange, lange verabschiedet hat

            Kommentar


            • #7
              Per iphlpapi.dll sollte es gehen.
              Soweit ich weiß, ist sie beim Windows SDK dabei.
              Vorsicht, es sind einige Fakes (trojaner usw.) im Netz unterwegs.
              http://corelibrary.sourceforge.net/d...HlpApi_8h.html
              sprichst dann per PHP über proc_open (oder verwandte) damit
              Ich glaube dazu reicht mein PHP und allgemeines Programmierwissen nicht aus ^^

              Du willst wirklich eine Art umgekehrtes Load Balancing machen?
              Ich weiß nicht wirklich was du damit meinst.

              Ich habe das jetzt erstmal so gemacht, dass ich den Apache auf die erste IP Adresse gebunden habe und einen FTP Server auf die andere.
              So kann man, falls man bemerkt das die Erste ausgelastet ist, auf die 2. per FTP ausweichen.
              Da das alles im LAN statt findet ist die erste Karte ja schon auf Anschlag wenn der erste PC anfängt die Dateien zu laden.

              Ich hab mir überlegt, ob es dann nicht sinnvoller wäre, die Anzahl der Verbindungen zur Website anzeigen zu lassen, da die Bandbreite ja pro weiterem Download abnimmt.

              Ist das irgendwie möglich, das anzeigen zu lassen - also via PHP?

              Kommentar


              • #8
                Alles ist möglich! Aber längst nicht alles ist sinnvoll.

                Definiere erstmal ganz genau, wann Auslastung besteht und was genau da ausgelastet ist. Ich setze 'nen Zehner, dass die Auslastung nicht auf der Netzwerkkarte liegt, sondern dass da irgendwelche anderen Resourcen wie RAM, Busse oder CPU knapp sind.

                Kommentar


                • #9
                  Also laut Taskmanager ist die Netzwerkkarte auf Anschlag.
                  CPU(Q6600) schläft vor sich hin und RAM(4GB) sind noch >2GB frei.
                  Und die HDDs(1x RAID5 und 1x RAID1) lesen auch nur mit der selben Geschwindigkeit die die Netzwerkkarte hergibt.

                  Auslastung besteht, sobald eine oder mehrere Dateien über die Website heruntergeladen werden.

                  Das Netzwerk ist meiner Meinung der Flaschenhals.

                  mfg

                  Kommentar


                  • #10
                    Zitat von Sp1k3 Beitrag anzeigen
                    Also laut Taskmanager ist die Netzwerkkarte auf Anschlag.
                    Was der Taskmanager da anzeigt ist vielleicht die 100MBit-Auslastung einer 100MBit-Karte in einem 100MBit-Netz. Sie nutzt 100% ihrer Resourcen und erreicht optimalen Durchsatz.
                    Die Frage ist nun: Wenn man sie gegen eine Gigabit-Netzwerkkarte austauscht, wird der Download dann schneller laufen?
                    Eins ist klar, wenn er vorher schon mit 100MBit/s lief, kann er nicht schneller werden. Wenn vorher zwei Downloads parallel mit jeweils knapp 50MBit/s liefen, wird das ebenfalls nicht schneller. Denn die langsamste Komponente im Netz bestimmt dessen Geschwindigkeit, nicht die schnellste.

                    Zitat von Sp1k3 Beitrag anzeigen
                    Das Netzwerk ist meiner Meinung der Flaschenhals.
                    Das mag sein, ist sogar oft so. Aber Netzwerk ist was anderes als Netzwerkkarte! Vielleicht ist die Leitung ausgelastet oder ein Router kommt nicht hinterher.

                    Kommentar


                    • #11
                      Es handelt sich um ein GBit Netz und es sind 2 GBit Karten verbaut.
                      Eine für FTP und eine für HTTP.


                      Es sind auch Rechner mit 100 MBit angebunden. Da ist bei ca. 10MB/s für diesen PC Schluss, das ist klar. Wenn ich von 3 weiteren PCs mit 100MBit Karten einen Download zur gleichen Zeit starte ist die Auslastung der GBit Karte am Server auf ca. 40%. (Alles an einem 24 Port GBit Switch)

                      Mein Ziel ist es, dass man irgendwo auf der Website sehen kann über welche IP man schneller an die Dateien herankommt.

                      mfg

                      Kommentar

                      Lädt...
                      X