noxxo: Server mit vielen Zugriffen! Wie kann man die Datenlast deckeln?

Hallo Forumer!

Einen privaten WAMP und LAMP-Server habe ich schon aufgesetzt; auch schon mal händisch konfiguriert.
Jetzt möchte ich aber mehr...
Ich möchte einen Server, auf den ziemlich viele Leute gleichzeitig zugreifen, außerdem soll es einen Livestream geben!

Meine Fragen:
1. Wieviele Leute können maximal gleichzeitig auf einen Server weltweit zugreifen, damit meine ich nicht die Zahl bei einer LAN-Party (Bsp: bei Ballerspielen wird das meistens auf bis zu 32 User begrenzt, weil sonst die Performance leidet)?
2. Kommt es auf die bereitgestellte Bandbreite des Servers an, oder auf die des zugreifenden Users (client-seitg)?
3. Kann man die Datenströme / Lasten die abgerufen werden, z.B. auf  mehrere Server verteilen,
um die Kosten für den Datentransfer gering zu halten?
4. Gibt es noch ein paar gute Webseiten zum Thema? (Gegoogelt hab´ ich natürlich!)

Hmmmh...Ihr merkt schon, viele Fragen, wenig Antworten!
Danke vorab,
noxxo, formerly known as Tom

  1. Hallo!

    Einen privaten WAMP und LAMP-Server habe ich schon aufgesetzt; auch schon mal händisch konfiguriert.

    Wie setzt man denn _einen_ Server gleichzeitig als WAMP _und_ LAMP auf?

    Meine Fragen:

    1. Wieviele Leute können maximal gleichzeitig auf einen Server weltweit zugreifen, damit meine ich nicht die Zahl bei einer LAN-Party (Bsp: bei Ballerspielen wird das meistens auf bis zu 32 User begrenzt, weil sonst die Performance leidet)?

    Theoretisch alle, die Internet-Zugriff haben.

    1. Kommt es auf die bereitgestellte Bandbreite des Servers an, oder auf die des zugreifenden Users (client-seitg)?

    Hauptsächlich auf die des Servers, da die mit allen Anfragen seitens der Clients zurechtkommen muß. Wie viel die Clients anfragen hämgt wiederum von den zur Verfügung gestellten Inhalten ab. Bei einem Live-Stream dürfte das aber schon etwas mehr als üblich sein.
    Andererseits kann man natürlich auch gewisse Nutzer "ausgrenzen". Die wenigsten Modem-User werden einen 128 kbps-Livestream (oder gar Video) ansehen.

    1. Kann man die Datenströme / Lasten die abgerufen werden, z.B. auf  mehrere Server verteilen,
      um die Kosten für den Datentransfer gering zu halten?

    Man kann die Datenlast verteilen, aber das spart dir keine Kosten, denn der Datentransfer ist immer noch da. Der einzige Vorteil ist, daß es schneller läuft, da die Server nicht übermäßig ausgelastet sind.

    1. Gibt es noch ein paar gute Webseiten zum Thema? (Gegoogelt hab´ ich natürlich!)

    Sicherlich ;-)

    Gruß

    Matthias

    --
    ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
    http://www.makaio.de/quotations
    1. Hallo!

      Hallo!

      Einen privaten WAMP und LAMP-Server habe ich schon aufgesetzt; auch schon mal händisch konfiguriert.

      Wie setzt man denn _einen_ Server gleichzeitig als WAMP _und_ LAMP auf?

      Haha :-)

      Meine Fragen:

      1. Wieviele Leute können maximal gleichzeitig auf einen Server weltweit zugreifen, damit meine ich nicht die Zahl bei einer LAN-Party (Bsp: bei Ballerspielen wird das meistens auf bis zu 32 User begrenzt, weil sonst die Performance leidet)?

      Theoretisch alle, die Internet-Zugriff haben.

      1. Kommt es auf die bereitgestellte Bandbreite des Servers an, oder auf die des zugreifenden Users (client-seitg)?

      Hauptsächlich auf die des Servers, da die mit allen Anfragen seitens der Clients zurechtkommen muß. Wie viel die Clients anfragen hämgt wiederum von den zur Verfügung gestellten Inhalten ab. Bei einem Live-Stream dürfte das aber schon etwas mehr als üblich sein.
      Andererseits kann man natürlich auch gewisse Nutzer "ausgrenzen". Die wenigsten Modem-User werden einen 128 kbps-Livestream (oder gar Video) ansehen.

      1. Kann man die Datenströme / Lasten die abgerufen werden, z.B. auf  mehrere Server verteilen,
        um die Kosten für den Datentransfer gering zu halten?

      Man kann die Datenlast verteilen, aber das spart dir keine Kosten, denn der Datentransfer ist immer noch da. Der einzige Vorteil ist, daß es schneller läuft, da die Server nicht übermäßig ausgelastet sind.

      Hmmh, dann spare ich doch Kosten, wenn ich sagen wir mal 4 Server mit je 80 GB für 49 Euro im Monat habe, und nicht bei einem Server pro GB mehr z.B. 5 Euro zahlen muss,oder?!?

      1. Gibt es noch ein paar gute Webseiten zum Thema? (Gegoogelt hab´ ich natürlich!)

      Sicherlich ;-)

      Ja, sicherlich, aber ich brauch jetzt konkrete Aussagen, welche man hier im Forum häufig findet und auf den verschiedenen Info-Seiten nicht!

      Gruß

      Matthias

      Auch Gruß und Danke!
      Tom

      1. Hallo noxxo!

        Wie setzt man denn _einen_ Server gleichzeitig als WAMP _und_ LAMP auf?

        Haha :-)

        Sicherlich ;-)
        Ja, sicherlich, aber ich brauch jetzt konkrete Aussagen, welche man hier im Forum häufig findet und auf den verschiedenen Info-Seiten nicht!

        Du widersprichst dir ;-)

        Hmmh, dann spare ich doch Kosten, wenn ich sagen wir mal 4 Server mit je 80 GB für 49 Euro im Monat habe, und nicht bei einem Server pro GB mehr z.B. 5 Euro zahlen muss,oder?!?

        1. Gibt es noch ein paar gute Webseiten zum Thema? (Gegoogelt hab´ ich natürlich!)

        Da hast du wohl Recht. Hatte nicht an die Paketangebote gedacht.

        Gruß

        Matthias

        --
        ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
        http://www.makaio.de/quotations
  2. Hallo noxxo,

    deine Fragen sind so einfach nicht zu beantworten. Es sind viele Variablen, die noch
    offenbleiben. Die wichtigste waere z. B., was du mit deinem Server machen willst. Geht
    es dir nur um den Livestream, so ist die Hardware relativ uninteressant und lediglich die
    Anbindung ist interessant (obwohl auch das nicht mehr stimmt: es gibt bereits Algorithmen
    fuer verteiltes Streaming). Hast du dagegen vor auf deinem Server aufwendige Scripte
    laufen zu lassen, so wirst du schon einiges in die Hardware investieren muessen.

    Zu deiner Frage, ob man den Live-Stream auf mehrere Server verteilen kann: so ohne
    weiteres nicht. Es gibt zwar inzwischen Algorithmen fuer verteiltes Streaming, das
    aehnlich BitTorrent funktioniert, aber die haben sich noch nicht durchgesetzt. Es hat
    sich eigentlich eingebuergert (bei grossen Seiten), die Streams komplett auf mehreren
    Server bereitzustellen, auf sog. Mirrors.

    Also, keine klaren Antworten weil deine Fragen zu undifferenziert sind.

    Grüße,
     CK

    --
    If God had a beard, he'd be a UNIX programmer.
    http://wwwtech.de/
    1. Hallo!

      Zu deiner Frage, ob man den Live-Stream auf mehrere Server verteilen kann: so ohne
      weiteres nicht. Es gibt zwar inzwischen Algorithmen fuer verteiltes Streaming, das
      aehnlich BitTorrent funktioniert, aber die haben sich noch nicht durchgesetzt. Es hat
      sich eigentlich eingebuergert (bei grossen Seiten), die Streams komplett auf mehreren
      Server bereitzustellen, auf sog. Mirrors.

      Aber man kann doch ohne Weiteres grob genug abschätzen wie viel Zugriffe gerade auf jeden Mirror erfolgen und dann dynamisch die Anfragen auf die Mirrors verteilen, oder nicht?

      Gruß

      Matthias

      --
      ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
      http://www.makaio.de/quotations
      1. Hallo Matthias,

        Zu deiner Frage, ob man den Live-Stream auf mehrere Server verteilen kann: so ohne
        weiteres nicht. Es gibt zwar inzwischen Algorithmen fuer verteiltes Streaming, das
        aehnlich BitTorrent funktioniert, aber die haben sich noch nicht durchgesetzt. Es hat
        sich eigentlich eingebuergert (bei grossen Seiten), die Streams komplett auf mehreren
        Server bereitzustellen, auf sog. Mirrors.

        Aber man kann doch ohne Weiteres grob genug abschätzen wie viel Zugriffe gerade auf jeden
        Mirror erfolgen und dann dynamisch die Anfragen auf die Mirrors verteilen, oder nicht?

        Selbstverstaendlich koennte man die Mirror-Wahl automatisieren.

        Grüße,
         CK

        --
        Mit einem Windhauch kannst du das Feuer loeschen. Mit einem Windhauch kannst du das Feuer entfachen.
        http://wwwtech.de/
    2. Hallo noxxo,

      Hallo!

      Die wichtigste waere z. B., was du mit deinem Server machen willst. Geht es dir nur um den Livestream, so ist die Hardware relativ uninteressant und lediglich die
      Anbindung ist interessant (obwohl auch das nicht mehr stimmt: es gibt bereits Algorithmen
      fuer verteiltes Streaming). Hast du dagegen vor auf deinem Server aufwendige Scripte
      laufen zu lassen, so wirst du schon einiges in die Hardware investieren muessen.

      Ich möchte, das möglichst viele User gleichzeitig einen Stream von der Seite erhalten. Daher auch meine Frage, wieviele User gleichzeitig zugreifen können, oder ob man das serverseitig einstellen kann nach dem Motto: "if mehr als 500 User / then go to Server 2"

      Also, keine klaren Antworten weil deine Fragen zu undifferenziert sind.

      Tja, ich bin noch recht am Anfang bei der Informationssuche, und muss die Fragen erst noch richtig finden; gleichwohl bemühe ich mich und lese mich durch ziemlich viel Literatur!

      Danke für Deine Hinweise,
      Tom

      Grüße,
       CK

      1. Hallo noxxo,

        Die wichtigste waere z. B., was du mit deinem Server machen willst. Geht es dir nur
        um den Livestream, so ist die Hardware relativ uninteressant und lediglich die
        Anbindung ist interessant (obwohl auch das nicht mehr stimmt: es gibt bereits Algorithmen
        fuer verteiltes Streaming). Hast du dagegen vor auf deinem Server aufwendige Scripte
        laufen zu lassen, so wirst du schon einiges in die Hardware investieren muessen.
        Ich möchte, das möglichst viele User gleichzeitig einen Stream von der Seite erhalten.

        In dem Fall solltest du auf eine dicke Anbindung setzen.

        Daher auch meine Frage, wieviele User gleichzeitig zugreifen können, oder ob man das
        serverseitig einstellen kann nach dem Motto: "if mehr als 500 User / then go to Server 2"

        Klar, man kann die Auswahl der Mirror automatisieren. Allerdings geht das nicht von Haus
        aus, da muss man mit einer Programmiersprache ran (z. B. Perl oder PHP).

        Grüße,
         CK

        --
        Death is God's way of telling you not to be such a wise guy.
        http://wwwtech.de/
        1. Hallo noxxo,

          Hallo,

          Ich möchte, das möglichst viele User gleichzeitig einen Stream von der Seite erhalten.
          In dem Fall solltest du auf eine dicke Anbindung setzen.

          Heißt das, ich brauche einen Server mit guter Hardware-Ausstattung und einer dicken Anbindung (was verstehst Du darunter?)?
          Kannst Du eine Konfiguration empfehlen?
          Sorry, aber genau an diesen Stellen kenne ich mich nur unzureichend aus!

          Daher auch meine Frage, wieviele User gleichzeitig zugreifen können, oder ob man das
          serverseitig einstellen kann nach dem Motto: "if mehr als 500 User / then go to Server 2"

          Klar, man kann die Auswahl der Mirror automatisieren. Allerdings geht das nicht von Haus
          aus, da muss man mit einer Programmiersprache ran (z. B. Perl oder PHP).

          Das ist doch schon mal gut, wenn man dadurch das Transfervolumen steuern kann!

          Grüße,
           CK

          Danke ünd Grüsse,
          Tom

          1. Hallo noxxo,

            Ich möchte, das möglichst viele User gleichzeitig einen Stream von der Seite erhalten.
            In dem Fall solltest du auf eine dicke Anbindung setzen.

            Heißt das, ich brauche einen Server mit guter Hardware-Ausstattung und einer dicken
            Anbindung (was verstehst Du darunter?)?

            Nein, die Hardware ist hier nicht soooo wichtig. Sie sollte gut genug sein, den
            I/O-Overhead zu bewaeltigen, aber wirklich Rechenkapazitaet braucht man dafuer nicht.
            Lediglich eine dicke Anbindung ist wichtig, also die Moeglichkeit, viele Daten
            gleichzeitig durch die Leitung schaufeln zu koennen.

            Kannst Du eine Konfiguration empfehlen?

            Nein, dafuer fehlen mir genauere Zahlen.

            Sorry, aber genau an diesen Stellen kenne ich mich nur unzureichend aus!

            Kein Grund sich zu entschuldigen ;-)

            Grüße,
             CK

            --
            Sich erinnern bedeutet, aus einer Erfahrung nicht ausreichend gelernt zu haben.
            http://wwwtech.de/
          2. Moin!

            Heißt das, ich brauche einen Server mit guter Hardware-Ausstattung und einer dicken Anbindung (was verstehst Du darunter?)?

            Dicke Anbindung = Schnelle Leitung.

            Obwohl es fortgeschrittene Streaming-Technologien auf dem Papier gibt, welche bandbreitenschonend funktionieren _könnten_ (Stichwort Multicast - das funktioniert in Intranets, wo man unter anderem auch die Multicast-IP-Verteilung unter Kontrolle hat, und außerdem nicht sonderlich viele Programme parallel ausstrahlt, auch praktisch ganz gut), so wird das im Internet selbst noch nicht oder nur äußerst unzureichend unterstützt.

            Das bedeutet für dich: Du brauchst für jeden Empfänger deines Streams exklusiv Bandbreite in Höhe der Datenrate des Streams - plus noch etwas mehr für den Overhead, der immer irgendwie dabei ist. Jeder Zuschauer kriegt vom Server exklusiv eine eigene Kopie des Streams zugestellt - das bedeutet, dass bei zehn Zuschauern zehnmal die gleichen Daten über die Leitung gehen, und dass man die zehnfache Bandbreite benötigt im Vergleich zum Einzelstream.

            Kurze Rechnung, um das praktisch darzustellen: Ein Videostream mit 100 Kilobit pro Sekunde liefert schon ein einigermaßen vernünftiges Bild. Und ein normaler Server beim Provider ist mit einer 100 Megabit/s Netzwerkkarte an das Internet angeschlossen.

            Das bedeutet in erster Näherung: Du kannst 1000 Zuschauer mit deinem Stream versorgen, denn 100 Megabit geteilt durch 100 Kilobit = 1000.

            In zweiter Näherung mußt du von dieser Zahl dann aber noch gewaltig was abziehen.

            Erstens: Ein 100MBit-Netzwerk überträgt niemals wirklich 100 MBit Nettodaten, sondern läßt sich immer nur bist zu einem gewissen maximalen Bruchteil auslasten. Teile daher die Geschwindigkeit der Netzwerkkarte mal durch 3 - entsprechend teilt sich die Zahl der Zuschauer auch durch 3, und du hast nur noch 333 Zuschauer.

            Zweitens: Dein 100kBit-Streaming verbraucht mit Sicherheit mehr als 100 kBit/s. Denn so genau kann man das in der Software gar nicht einstellen, bzw. so auf den Punkt genau kann sie nicht komprimieren. Außerdem sprach ich von Overhead. Grobe Schätzung: Dein Stream wird 120 kBit/s verbrauchen. Und schon kommst du nur noch auf maximal 275 Zuschauer mit deiner Maschine.

            Das ist dann allerdings wirklich eine exklusive Maschine nur fürs Streaming. Web (HTTP) etc. geht damit dann nicht mehr, das würde die Übertragung stören.

            Schlussendlich kommt es natürlich auch noch auf den Streamingserver an, also die Software. OpenSource macht hier natürlich keine Probleme, hast du aber kommerzielle Produkte, dann gilt die Lizenz oftmals nur für eine begrenzte Zahl an parallelen Streams, unabhängig davon, was tatsächlich gehen würde.

            Und ob die Hardware zur Verteilung des Streams schnell genug ist - dazu kann ich leider gar keine Aussage machen, da mangelt es mir an Erfahrungswerten.

            Bedenke auch, dass ein derartig ausgelasteter Streamingserver natürlich einiges an Traffic frißt. Wenn du nur mal für eine Stunde eine Übertragung haben willst, dann kommen grob geschätzt 15 Gigabyte an Daten zusammen. Würde das Streaming den ganzen Tag laufen... naja, du kannst den Stundenwert ja selbst mal multiplizieren. Die Leute schauen natürlich nicht rund um die Uhr zu, die Auslastung schwankt also.

            Das ist doch schon mal gut, wenn man dadurch das Transfervolumen steuern kann!

            Naja, das Transfervolumen läßt sich eigentlich nur steuern, wenn du deinen Streamingserver beeinflussen kannst, so dass er weitere Clients unabhängig von seiner Auslastung einfach ablehnt. Ansonsten könnte es durchaus sein, dass er einfach überrannt wird, deine PHP-Eingangstür einfach umgangen wird, indem sich viele Leute dort die URL des Streams abholen und immer wieder den Kontakt dorthin herstellen wollen, es aber mangels verfügbarer Kapazität nicht klappt.

            - Sven Rautenberg

            1. Hallo Sven und alle anderen Teilnehmer!
              Ein dickes "Merci" für Eure vielofältigen Anregungen!
              Jetzt fehlen mir nur noch ein paar TUTs und Sites zum Thema...

              Gruß,
              Tom

              Moin!

              Heißt das, ich brauche einen Server mit guter Hardware-Ausstattung und einer dicken Anbindung (was verstehst Du darunter?)?

              Dicke Anbindung = Schnelle Leitung.

              Obwohl es fortgeschrittene Streaming-Technologien auf dem Papier gibt, welche bandbreitenschonend funktionieren _könnten_ (Stichwort Multicast - das funktioniert in Intranets, wo man unter anderem auch die Multicast-IP-Verteilung unter Kontrolle hat, und außerdem nicht sonderlich viele Programme parallel ausstrahlt, auch praktisch ganz gut), so wird das im Internet selbst noch nicht oder nur äußerst unzureichend unterstützt.

              Das bedeutet für dich: Du brauchst für jeden Empfänger deines Streams exklusiv Bandbreite in Höhe der Datenrate des Streams - plus noch etwas mehr für den Overhead, der immer irgendwie dabei ist. Jeder Zuschauer kriegt vom Server exklusiv eine eigene Kopie des Streams zugestellt - das bedeutet, dass bei zehn Zuschauern zehnmal die gleichen Daten über die Leitung gehen, und dass man die zehnfache Bandbreite benötigt im Vergleich zum Einzelstream.

              Kurze Rechnung, um das praktisch darzustellen: Ein Videostream mit 100 Kilobit pro Sekunde liefert schon ein einigermaßen vernünftiges Bild. Und ein normaler Server beim Provider ist mit einer 100 Megabit/s Netzwerkkarte an das Internet angeschlossen.

              Das bedeutet in erster Näherung: Du kannst 1000 Zuschauer mit deinem Stream versorgen, denn 100 Megabit geteilt durch 100 Kilobit = 1000.

              In zweiter Näherung mußt du von dieser Zahl dann aber noch gewaltig was abziehen.

              Erstens: Ein 100MBit-Netzwerk überträgt niemals wirklich 100 MBit Nettodaten, sondern läßt sich immer nur bist zu einem gewissen maximalen Bruchteil auslasten. Teile daher die Geschwindigkeit der Netzwerkkarte mal durch 3 - entsprechend teilt sich die Zahl der Zuschauer auch durch 3, und du hast nur noch 333 Zuschauer.

              Zweitens: Dein 100kBit-Streaming verbraucht mit Sicherheit mehr als 100 kBit/s. Denn so genau kann man das in der Software gar nicht einstellen, bzw. so auf den Punkt genau kann sie nicht komprimieren. Außerdem sprach ich von Overhead. Grobe Schätzung: Dein Stream wird 120 kBit/s verbrauchen. Und schon kommst du nur noch auf maximal 275 Zuschauer mit deiner Maschine.

              Das ist dann allerdings wirklich eine exklusive Maschine nur fürs Streaming. Web (HTTP) etc. geht damit dann nicht mehr, das würde die Übertragung stören.

              Schlussendlich kommt es natürlich auch noch auf den Streamingserver an, also die Software. OpenSource macht hier natürlich keine Probleme, hast du aber kommerzielle Produkte, dann gilt die Lizenz oftmals nur für eine begrenzte Zahl an parallelen Streams, unabhängig davon, was tatsächlich gehen würde.

              Und ob die Hardware zur Verteilung des Streams schnell genug ist - dazu kann ich leider gar keine Aussage machen, da mangelt es mir an Erfahrungswerten.

              Bedenke auch, dass ein derartig ausgelasteter Streamingserver natürlich einiges an Traffic frißt. Wenn du nur mal für eine Stunde eine Übertragung haben willst, dann kommen grob geschätzt 15 Gigabyte an Daten zusammen. Würde das Streaming den ganzen Tag laufen... naja, du kannst den Stundenwert ja selbst mal multiplizieren. Die Leute schauen natürlich nicht rund um die Uhr zu, die Auslastung schwankt also.

              Das ist doch schon mal gut, wenn man dadurch das Transfervolumen steuern kann!

              Naja, das Transfervolumen läßt sich eigentlich nur steuern, wenn du deinen Streamingserver beeinflussen kannst, so dass er weitere Clients unabhängig von seiner Auslastung einfach ablehnt. Ansonsten könnte es durchaus sein, dass er einfach überrannt wird, deine PHP-Eingangstür einfach umgangen wird, indem sich viele Leute dort die URL des Streams abholen und immer wieder den Kontakt dorthin herstellen wollen, es aber mangels verfügbarer Kapazität nicht klappt.

              - Sven Rautenberg

          3. Hallo noxxo!

            Heißt das, ich brauche einen Server mit guter Hardware-Ausstattung und einer dicken Anbindung (was verstehst Du darunter?)?

            Die nötige "Dicke der Anbindung" kannst du dir aus dem abzusehenden Transfervolumen ableiten. Dazu wiederum reichen dir zwei Werte:

            1. die Datenrate des Streams
            2. die voraussichtlichen Benutzer

            Anfangs wäre es also ratsam, daraus dein Gesamt-Übertragungsvolumen zu berechnen und das schonmal als Gesamtlimit an dem Punkt zu definieren, der das Umleiten auf die Mirrors vornehmen würde. Also zu sagen, daß z.B. ab 500 Besuchern Sense ist.
            Du solltest natürlich auch darauf achten, daß du nicht einfach nur überlegst, wie viele Benutzer sich jemals den Stream anschauen werden (oder wie viele pro Woche oder so), denn interessanter ist die Frage, wie viele werden höchstens _gleichzeitig_ auf den Stream zugreifen wollen (oder wie viele willst du erlauben). Das ist der eigentliche Anforderungswert an deine Anbindung.

            Eine DSL-Anbindung mag reichen, wenn 50 Leute über den Tag verteilt drauf zugreifen, wenn di aber alle in ihren Mittagspausen kommen, dann geht bei dir wohl nicht mehr viel.

            Das ist glaube ich das, was Christian mit den fehlenden Daten meinte.

            Gruß

            Matthias

            --
            ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
            http://www.makaio.de/quotations