Ralph: Eine Domain / zwei Server

Hallo liebe Selfer,

ich mache mir gerade Gedanken über einen zweiten Server bei 1und1. Im Augenblick
läuft meine Seite mit 2 Prozessoren und ca. 100 Leuten online ganz ok, könnte aber
wohl besser sein:

Allerdings hab ich zwei Probleme:
a) Google Webmaster Tools sagt, meine Seite sei langsamer als 64% aller Seiten
   ==> für mich ist das relevant, weil die Google-Suche für mich relevant ist
   Gleichzeitig befinden sich aber im Schnitt auf jeder Seite 8 Fotos mit
   insg. ca. 1 MB Umfang - was sich natürlich auswirkt.
b) In den nächsten Wochen werde ich ca. 400.000 Bilder in einem größeren
   Format anbieten (1024x768px), samt dem nötigen PHP-Frontend (natürlich
   gecached).
   Da erwarte ich also Einiges an Zusatztraffic, kann das aber am Anfang prima
   skalieren, zwingt mich ja keiner, alle Bilder auf einmal umzustellen.

Ich vermute, dass ein reines Upgrade auf einen einzigen, aber leistungsfähigeren
Server nicht das Problem mit den Dateizugriffen löst. Darum würde ich Probleme
a) und b) gerne mit einem zusätzlichen Server angehen.

Nur wie muss ich mir das vorstellen? Beide Server stehen dann bei 1und1 (ja, ich
weiß, Billighoster), die Requests schlagen bei Server A auf aber irgendwie muss
ich ja dann die Anfragen (z.B. nach bestimmten Bildern) intern an Server B weiter-
geben. Ich möchte also gerne folgendes erreichen, aber ohne dass der User mitkriegt,
dass das zwei verschiedene Rechner sind:
http://www.example.com/a.jpg ==> liefert direkt a.jpg aus
http://www.example.com/b.jpg ==> holt sich b.jpg und liefert es via example.com aus.

Das ist also meine eigentliche Frage, über Hinweise zur generellen Problematik
freu ich mich auch, mach das zum ersten Mal...

Danke euch,
Ralph

  1. Hi,

    Nur wie muss ich mir das vorstellen? Beide Server stehen dann bei 1und1 (ja, ich weiß, Billighoster), die Requests schlagen bei Server A auf aber irgendwie muss ich ja dann die Anfragen (z.B. nach bestimmten Bildern) intern an Server B weitergeben.

    Lass die Requests nicht bei Server A aufschlagen, dann brauchst du auch nichts intern weitergeben.

    Ich möchte also gerne folgendes erreichen, aber ohne dass der User mitkriegt,
    dass das zwei verschiedene Rechner sind

    Warum nicht?
    So gut wie jede größere Webpräsenz heutzutage nutzt CDNs.

    Das muss keine vollkommen fremde Domain sein, das kann auch über eine Subdomain laufen, die auf den anderen Server geroutet ist.

    Für den Nutzer macht das ganze u.a. die Beschränkung der gleichzeitigen Requests an eine Domain langsam, wenn größere Datenmenge geladen werden müssen - Default in aktuellen Browsern sind 2 bis 4 parallele Requests je Domain. Durch Aufteilung auf mehrere (Sub-)Domains umgehst du das Problem.

    http://www.example.com/a.jpg ==> liefert direkt a.jpg aus
    http://www.example.com/b.jpg ==> holt sich b.jpg und liefert es via example.com aus.

    Damit gewinnst du nichts, wenn der Server von example.com sich nach wie vor um die Auslieferung dieser Datenmenge kümmern muss.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi Chris,

      mir geht's auch darum dass die Domain ein gewisses Gewicht bzw. Vertrauen bei Google hat, nicht zuletzt aufgrund des Alters (10 Jahre).
      Dieses Gewicht möchte ich gerne auch an neue Inhalte weitergeben, was bei Subdomains nicht funktioniert, da Google diese beim Rating wie neue Websites behandelt. Gleichzeitig werden sie in den SERPs aber der Haupt-Domain zugerechnet, ich hätte also nicht den Vorteil, dass dort plötzlich mehr als 2 Ergebnisse von mir stehen.

      Allein die Google-Bildersuche liefert mir bisher 10% meiner Besucher, und das bedeutet für mich schonmal, dass ich genau diese Bilder augenblicklich nicht auf eine Subdomain oder ein CDN (in dem Fall schon allein wegen der Kosten) umschichten kann, da ich sonst Gefahr laufe, die 10% zu verlieren.

      Übrigens: klar, CDN sind weit verbreitet, und machen auch Sinn. Das heißt ja aber nicht, dass der Server unter einer anderen Adresse laufen muss. Mal als Beispiel für eine Seite, die nicht auf Community-Inhalte setzt (Facebook bspw. dürften Google-Ergebnisse ziemlich egal sein), sondern auf eigene Inhalte:
      http://www.spiegel.de/images/image-152039-galleryV9-kabr.jpg
      Was da im Hintergrund abläuft, weiß ich auch nicht, hätte das aber gern genau so ;-)

      Ralph

      1. Hi,

        Mal als Beispiel für eine Seite, die nicht auf Community-Inhalte setzt (Facebook bspw. dürften Google-Ergebnisse ziemlich egal sein), sondern auf eigene Inhalte:
        http://www.spiegel.de/images/image-152039-galleryV9-kabr.jpg
        Was da im Hintergrund abläuft, weiß ich auch nicht, hätte das aber gern genau so ;-)

        Na dann beschäftige dich mit professionellen Loadbalancing-Lösungen.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Was da im Hintergrund abläuft, weiß ich auch nicht, hätte das aber gern genau so ;-)

          Na dann beschäftige dich mit professionellen Loadbalancing-Lösungen.

          Der Smiley war so gemeint, dass mir klar ist, dass Spiegel.de in einer anderen Liga spielt, und dass der Satz nicht zu 100% wörtlich zu verstehen ist. Vielleicht hätt ich das klarer schreiben sollen.

          Mir genügt auch eine simplere Löung mit ähnlichem Effekt.

          Ralph

          1. Na dann beschäftige dich mit professionellen Loadbalancing-Lösungen.

            Der Smiley war so gemeint, dass mir klar ist, dass Spiegel.de in einer anderen Liga spielt, und dass der Satz nicht zu 100% wörtlich zu verstehen ist. Vielleicht hätt ich das klarer schreiben sollen.

            Spiegel ist da keineswegs eine andere Liga. Beim Spiegel sind eben nur etwas mehr als zwei Server beteiligt. Aber beim Übergang von einem nach zwei Servern braucht man Loadbalancing. Beim Übergang vom 100 Servern zu 101 wird die Tabelle erweitert genauso wie beim Übergang vom zwei zu drei Servern. Aber installieren tut man das Loadbalancing genau beim Übergang vom einem zu zwei Servern.

            1. Na dann beschäftige dich mit professionellen Loadbalancing-Lösungen.

              Der Smiley war so gemeint, dass mir klar ist, dass Spiegel.de in einer anderen Liga spielt, und dass der Satz nicht zu 100% wörtlich zu verstehen ist. Vielleicht hätt ich das klarer schreiben sollen.

              Spiegel ist da keineswegs eine andere Liga. Beim Spiegel sind eben nur etwas mehr als zwei Server beteiligt. Aber beim Übergang von einem nach zwei Servern braucht man Loadbalancing. Beim Übergang vom 100 Servern zu 101 wird die Tabelle erweitert genauso wie beim Übergang vom zwei zu drei Servern. Aber installieren tut man das Loadbalancing genau beim Übergang vom einem zu zwei Servern.

              Ein Loadbalancer für 2 oder 3 Server ist aber billiger als ein Loadbalancer für 100 oder 101 Server :) bei Netzwerkgeräten ist nicht nur die Anzahl der Ports, deren Typ und Nenngeschwindigkeit ausschlaggebend :) besonders bei aktiven Loadbalancern sollte man sich mit dem Datendruchsatz, der Latenz und der größe der Adresstabelle beschäftigen.

              Auch wenn ein 50-Euro-NAT-Router prinzipiell als Loadbalancer für 3 Rechner eingesetzt werden kann, bei 100 Rechnern wird das Ding aber unter Garantie zum Glaschenhals ;)

              Und besonders wenn es um solche Dimensionen geht, sollte man jemanden damit betrauen, der sich mit sowas auskennt. Akamai oder AWS gehören hier sicher zu den Adressen, an die man sich wenden sollte.

              1. Hi.

                Auch wenn ein 50-Euro-NAT-Router prinzipiell als Loadbalancer für 3 Rechner eingesetzt werden kann, bei 100 Rechnern wird das Ding aber unter Garantie zum Glaschenhals ;)

                Hast du bei den Gläschen mal wieder den Hals nicht vollgekriegt und die zwei Punkte sind jetzt in Flensburg?

                Schönen Sonntag noch!
                O'Brien

                --
                Frank und Buster: "Heya, wir sind hier um zu helfen!"
                1. [...] Glaschenhals ;)

                  Hast du bei den Gläschen mal wieder den Hals nicht vollgekriegt und die zwei Punkte sind jetzt in Flensburg?

                  Du meinst Glensburg? :p

    2. http://www.example.com/a.jpg ==> liefert direkt a.jpg aus
      http://www.example.com/b.jpg ==> holt sich b.jpg und liefert es via example.com aus.

      Damit gewinnst du nichts, wenn der Server von example.com sich nach wie vor um die Auslieferung dieser Datenmenge kümmern muss.

      Ein Loadbalancer schafft hier ggf. abhilfe - es ist zwar unüblich, aber man kann einem Loadbalancer durchaus beibringen, jeden Request "zufällig" (oder gezeilt) an einen anderen Rechner weiter zuleiten. Jede halbwegs brauchbare NAT-Filewall im 300-Euro-Bereich lässt sich derart einrichten.

      1. [...] Filewall [...]

        Die File-Wall: eine unüberwindbare Hürde für schlecht trainierte Files :p

  2. Liebe Selfer,

    ich bin die letzten Tage unterwegs gewesen, spontan, lies sich nicht vermeiden. Jetzt habe ich gerade alle eure Beiträge gelesen. Danke! Waren ein paar gute Anregungen dabei, ich werd mich also wohl etwas eingehender mit Loadbalancing befassen müssen ;-)

    Ralph