ingo: ab wivielen Zugriffen bricht mein Server zusammen??

Tach zusammen...

Ich habe als kleinen Job ein Votesystem zu bauen..
Das ganze funktioniert so, das in einer DB 2500 Passwörter generiert worden sind. Diese werden über mehrere Tage als Flyer verteilt (ein Passwort pro Flyer).
Es darf nur an einem bestimmten Tag innerhalb von 2 Stunden abgestimmt werden (auf den Votepartys bzw. auch von zuhause aus).

Meine Frage ist nun, wie ich herausbekommen kann oder ob jemand infos darüber hat, ob das der Server aushält , wenn innerhalb der 2 Stunden 2500 Leute abstimmen.

Das ganze läuft wohl auf einem Realserver...

Wäre super wenn mir jemand was dazu sagen kann...

Danke
Ingo

  1. Hi,

    das aufwendigste wird wohl sein, wenn innerhalb der 2 Stunden die Datenbankanfragen kommen. Versuche so wenig Datenbank Querys zu machen wie möglich. Somit sparst du schonmal performance. Also ein paar hundert pro Session sollte der Server schon aushalten. Ich nehme mal an, dass man bei der Geschichte keine 100.000 EURO gewinnen kann, so sollte nichts passieren.

    PS: Der Server sollte schon relativ Leistungsstark sein. Mit einem P3 würde ich das nicht versuchen.

    Grüße Felix

  2. Hi,

    ob das der Server aushält , wenn innerhalb der 2 Stunden 2500 Leute abstimmen.

    hättest Du von zwei _Sekunden_ geredet, hätte ich Dir empfohlen, das zu testen. Bei zwei Stunden müsste Dein Server aber schon sehr, sehr, _sehr_ krank sein, um damit Probleme zu bekommen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. Hi!

    Es darf nur an einem bestimmten Tag innerhalb von 2 Stunden abgestimmt werden (auf den Votepartys bzw. auch von zuhause aus).

    Meine Frage ist nun, wie ich herausbekommen kann oder ob jemand infos darüber hat, ob das der Server aushält , wenn innerhalb der 2 Stunden 2500 Leute abstimmen.

    Versuche das zu simulieren. Es gibt zahlreiche Tools die Dir dabei helfen. Angefangen von einfachen wie ab[1], über etwas mächtigere Tools wie siege[2]... bis hin zu komplexeren Tools wie das "Web Application Stress Tool" von (ich traue es mich in Bios Anwesenheit kaum laut auszusprechen *g*) Microsoft[3]. ab ist mir persönlich zu primitiv, die hiermit durchgeführten Benchmarks sind mir etwas zu "synthetisch". Bei siege kannst Du schon erheblich mehr konfigurieren, und die Last realistischer erzeugen. Das MS-Tool bietet darüber hinaus auch Möglichkeiten, die Last parallel von mehrere Rechnern aus zu erzeugen, darüber hinaus kann man Pfade durch die Applikation per IE aufnehmen, und dann mit Hilfe des Tools die so aufgezeichneten Requests verwenden. Natürlich sollte man das ganze dann noch etwas anpassen, um zu verhindern dass zu viel gecached wird, z.B. von der Datenbank...

    Das Wichtigste an der Sache ist allerdings, dass Du mindestens die Bandbreite, die den Usern in den 2 Stunden zur Verfügung steht, verwenden kannst. Wenn Du solche Benchmarks über einen DSL-Anschluss ausführst ist das ganze ziemlich sinnfrei.

    Solltest Du nicht über genügend Bandbreite verfügen, musst Du versuchen das ganze lokal im eigenen LAN zu simulieren, und ggfs. auf die Server-Hardware "umrechnen". Dabei sollte die verwendete Hard- und Software so "realistisch" wie möglich sein.

    Das ganze läuft wohl auf einem Realserver...

    Hat das was mit dem "Real Player" zu tun?

    [1] http://httpd.apache.org/docs-2.0/programs/ab.html
    [2] http://www.joedog.org/siege/
    [3] http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&DisplayLang=en

    Grüße
    Andreas

    --
    SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
    1. Versuche das zu simulieren.

      Das würde ich sein lassen...
      Es sollte keine Probleme mit 2500 Zugriffen in 2 Stunden geben, aber zu der Sache mit dem Testen:
      Du testest also mal lustig drauf los und baust immer mehr Verbindungen zum Server deines Providers auf. Und jetzt passiert's: der Server ist überlastet. Gratulation! Du hast gerade erfolgreich eine Denial-Of-Service-Attacke gegen deinen Provider laufen lassen.
      Erkläre dem jetzt, daß Du den Server nur mal außer Gefecht gesetzt hast, weil Du sehen wolltest, daß mit deinen Votes alles hinhaut... ;)

      Naja, dazu kommt es im Endeffekt dann vielleicht nicht, aber ich würde lieber beim Provider anfragen, ob Du solche Votes durchführen kannst, als wenn du da Belastungstests an einem Server durchführst auf dem noch eine Menge andere Leute ihre Sites gehostet lassen.

      Dein Provider wird dir schon sagen können, wo die Grenze liegt.

      Gruß, rob

      1. Hi!

        Versuche das zu simulieren.
        Das würde ich sein lassen...

        och... ich finds lehrreich :)

        Es sollte keine Probleme mit 2500 Zugriffen in 2 Stunden geben,

        vermutlich, ja. Allerdings bin ich da nicht so sicher wie andere...
        Ich weiß ja nicht wie ein "Zugriff" aussieht(vermutlich ist sowas wie php/perl-cgi und DB-Zugriff notwendig), wieviel Last der erzeugt, wieviele HTTP-Requests notwendig sind für "einen Zugriff", wieviele gleichzeitige Zugriffe maximal zu erwarten sind, was der Server an sonstiger Last zu bewältigen hat, welche Hardware eingesetzt wird, ob Resourcen künstlich beschränkt sind...
        Ich habe schon Seiten gesehen mit ca. 100 eingebundenen Resourcen (Bilder, CSS, JS), möglicherweise müssen 5 Seiten aufgerufen werden bis der "Zugriff" erfolgt, möglicherweise entstehen dabei 50 zusätzliche HTTP-Requests bzgl. Bilder/CSS/JS.

        Wir alle erinnern uns sicher gut daran wie sehr die Suche auf den alten Server, wenn ich mir mal aktuelle Statistiken ansehe, dann hat die Suche im Juli ca. 500 Anfragen pro Stunde bearbeitet, maximal 1400. Möglicherweise kommen die ersten 1000 "Zugriffe" in den ersten 10 Minuten, evtl. entstehen hierbei 5.000-10.000 Requests auf langsame CGI-Scripte, dazu 50.000 Requests auf statische Inhalte... kann ja sein. Jedenfalls wird es dann durchaus interessant ;-)

        aber zu der Sache mit dem Testen:
        Du testest also mal lustig drauf los und baust immer mehr Verbindungen zum Server deines Providers auf. Und jetzt passiert's: der Server ist überlastet. Gratulation! Du hast gerade erfolgreich eine Denial-Of-Service-Attacke gegen deinen Provider laufen lassen.

        Das sollte man natürlich nur machen wenn der Admin das erlaubt, und nach Möglichkeit nicht gegen einen produktiv laufenden Server  :)
        Man sollte auch beachten das sowas durchaus sehr schnell sehr viel Traffic erzeugen kann...

        Erkläre dem jetzt, daß Du den Server nur mal außer Gefecht gesetzt hast, weil Du sehen wolltest, daß mit deinen Votes alles hinhaut... ;)

        Jepp, und bei der Gelegenheit kündigen weil der Server viel zu lahm ist ;-)

        Naja, dazu kommt es im Endeffekt dann vielleicht nicht, aber ich würde lieber beim Provider anfragen, ob Du solche Votes durchführen kannst, als wenn du da Belastungstests an einem Server durchführst auf dem noch eine Menge andere Leute ihre Sites gehostet lassen.

        Wenn Du auf einem shared hosting Server bist, wird das vermutlich schon durch die AGBs ausgeschlosssen sein ;-)

        Aber es ist auch ärgerlich wenn der Server hinterher beim echten Voting in die Knie geht, und dann viele Leute nicht voten können weil der Provider diesen "ddos" abwehrt indem er Deine Seite sperrt...

        Grüße
        Andreas

        --
        SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
  4. Wo soll das Problem denn sein?
    2500 mal voten in 2 Stunden??
    Na und?
    Wie kann ich testen, ob mein Auto es schafft, in 1 Stunde 2 Kilometer zu fahren?

    Grüße

    Micha