Wie belastbar ist dieser Server?

tender13371

Neuling
Thread Starter
Mitglied seit
22.02.2009
Beiträge
3
Hallo zusammen.

Ich hätte mal einige Fragen an euch. Hoffe hier ist ein Server Experte im Forum unterwegs.

Ich Code gerade eine App für Android und iOS. Die App ist fast fertig und nun stehe ich vor der auswahl eines geeigneten Servers.
Der Server soll zum Start nicht mehr als 70€ Monatlich kosten.

Ich dachte an diesen hier:

server.PNG

100Mbits Anbindung.

Was muss der Server machen?

Also die App ist folgendermaßen aufgebaut.
1. Benutzer startet die App , App sendet die UUID an den Server. Server speichert diese in msyql
2. Bentzer Logt sich mit dem Facebook login ein, und der Server speichert die Daten in mysql.
3. Nach dem login checkt der Server wie viele Freunde die selbe App benutzen , erstellt eine Facebook Freundeliste , und schickt diese wieder an das Handy.
4. (app ist ein quiz spiel) Der Benutzer löst die Level, immer nach 3 level wird die Aktuelle Punktzahl an den Server geschickt um diese in mysql wieder abzuspeichern.
( nach jedem Level bekommt man Punkte gutgeschrieben).

Die App kommuniziert mit dem Server per Crossover Scripting.

Beispiel Szenario:

Sagen wir die App wurde jetzt 100.000x runter geladen und ca 10% der Nutze spielen zur selben Zeit das wären 10.000 Nutzer.
Würde der Oben aufgelistetet Server diese Last mitmachen?
Als Betriebssystem kommt Windwos Webserver 2008 R2 zum einsatz.

Würde mich Freuen falls einer Erfahrung mit so hohen Lasten hat.

LG Tender
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Interessant wäre es, wie schnell / einfach / günstig upgrades sind und wie schnell du wieder aus dem Vertrag kommst. So einfach ist es leider nicht, dass deine App ein Hit wird, der auch 24 Monate (Vertragslaufzeit) funktioniert.
Gibt es einen speziellen Grund, warum du Windows Webserver 2008 einsetzt? Linux wäre sicherlich günstiger.
Wie schnell kommt man denn in deinem Spiel 3 Level weiter? Dann könntest du dir ja ausrechnen, wieviele Verbindungen pro Sekunde zustande kommen.
 
Dazu muss ich sagen das ich eine Facebook Fanpage mit 1.5 Millionen Deutschen Fans habe. Die Seite ist Sehr Aktiv und ich erreiche bis zu 300.000 leute mit einem Post.
Von daher werde ich viele leute erreichen. Wird auch mit Facebook werbung Gepusht.
Meine PHP Scripe sind sehr einfach gehalten und müssen nichts Kompliziertest abarbeiten.
Sever bereitstellung falls verfügbar dauert meist keine Stunde falls man Bestandskunde ist.

1. Verbindung - App start und sendet UUID an den Server. Server gibt keine Rückantwort und speichert die ID in eine Tabelle.

2. Verbindung - Facebook Login , App Sendet Facebook Name , ID, Bild-Url, Facebook ID, an den Server. Server checkt ob Benutzer schon registriert ist und schickt nur ein Ready an das HAndy zurück.
Der gesammte Vorgang des einloggens dauert ca 250-280 Millisekunden.

3. Verbindung - HAndy Senden Facebook ID . Server Check per Facebook API wie viele weitere Freunde die App nutzen und bekommt ein Array aus Facebook zurück.
Facebook braucht ca 200 milisekunden für diesen Vorgang. Server packt die Arrays in Variablen und holt für jeden weiteren Benutzer die dazugehörige Punktzahl aus der Msyql Tabelle und schickt diese an Das Handy.

3.1. Falls der Benutzer die Premium Version hat bekommt dieser noch eine Deutschland Rangliste mit den ersten Top 30 Benutzern mitgelifert . Dierse werden alle 24 Stunden durch ein Script ermittelt und in eine Tabelle gepackt die sich alle 24 Stunden einmal verändert.

4. Verbindung - Entsteht alle 3 level. Dies kommt ganz drauf an wie begabt der Benutzer ist. im Schnitt wird die 4.te Verbindung alle 2 Minuten Aufgebaut.

Die Verbindungen sind alle Asynchron.

Derzeit läuft das ganze hier drauf :
SSD Option!
server_1.PNG
Und das ist der V-Server Host :
server_2.PNG

Per Commandline habe ich eine Maximale Bandbreite von bis zu 500mbits Minmimal liegt diese bei 100 Mbits.
Und windows weil ich gerne ein desktop will aufm server. (remote)
Gehen wir also mal am Start von ca 1000-2000 Verbindungen Pro Sekunde aus.
 
Zuletzt bearbeitet:
Aha ein Server von Server4you, wa?

Also, soviel dazu. Wie bekommst du nun heraus, ob der Server reicht? Ganz einfach: Dienst anwerfen, App laufen lassen und entsprechend die Serverlast über einen längeren Zeitraum im Auge behalten.

Ich denke nach 2 Tagen wirst du sehen, ob der Server reicht oder nicht. Zudem solltest zu den dann ermittelten Spitzenzeiten selber spielen um zu sehen, ob es Verzögerungen gibt oder nicht. Je nachdem kannst du dann CPU-Zeit oder RAM dynamisch hinzufügen.

Hinweis aus Erfahrung: Am Anfang werden die Werte wesentlich höher sein als nach ein paar Tagen, wenn die Welle abflacht. Von 1000 bis 2000 Verbindungen pro Sekunde auszugehen ist sehr gewagt. Wie auch immer: Der vServer sollte das problemlos bewältigen können. Probleme sehe ich da eher bei Facebook... die mögen das auch gar nicht, wenn man ständig deren API anbettelt. Zugunsten der Geschwindigkeit und aus moralischen Gründen [die ich dir auf Anfrage gerne erläutern werde] solltest du auch die Facebook Freundeslisten zwischenspeichern und lediglich jeden x-ten Aufruf der Liste diese über die API aktualisieren. Die Top30 würde ich alle 60 Minuten aktualisieren und dieses Intervall später via Cronjob an die entsprechende Serverlast anpassen.
 
Hey Vagabund gerne kannst dur mir erläutern wieso die das nicht wollen . Ich mein wozu ist die FB-Api denn sonnst da. Wollte wegen Datenschutz die Freundeliste nicht auf dem eigenem Server speicher.
Und kompliziert wirds dann auch , das ganze zuordnen der Freunde .... müsste alles umbauen :wall:.

Also ein Appstart würde 2 Api anfragen starten. 1x der login welcher sein muss. und einmal die freundeliste. die haben das aber shcon so optimiert das man nur die freund ebekommt welche auch die app nutzen.

zusätzlich entlaste ich dadurch meinen server :xmas:
 
Zuletzt bearbeitet:
Nunja, aktuell steht das wohl nicht mehr drin aber in den Anfängen stand es noch in den API-Dokus drin, dass man Daten, die sich nicht ständig ändern ruhig lokal zwischenspeichern sollte um die API zu entlasten. Ich habe das ebenfalls so gemacht und entsprechende Hinweise in dem Datenschutzhinweis hinterlegt. Zudem war die API vor einigen Jahren auch noch wesentlich langsamer - da war es oft mehr als nützlich nicht ständig zu warten ^^

Das Umbauen lässt sich nicht umgehen. Ich würde an deiner Stelle das einfach mal ausprobieren. Der Weg ist recht einfach: Speichere das Ergebnis der Anfrage einfach direkt in der Datenbank. Du kannst damit arbeiten und bei jedem x-ten Aufruf aktualisierst du das Feld vorher. Normal reicht es ja sogar ein Array mit den IDs zu speichern. Kommt irgendwann eine Fehlermeldung, dass die Rechte fehlen, dann leerst du das Feld und schon sind die Daten weg.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh