Ich entwickle gerade ein kleines Browsergame mit PHP + MySQL. (Einheiten verwalten, Items kaufen, Ingameshop, Nachrichtensystem, üblicher Kram halt) Ich besitze folgendes Hostingpaket: http://all-inkl.com/webhosting/privatplus/ Wie kann ich grob abschätzen wieviele User (insgesamt/gleichzeitig) spielen können, bevor es zu Leistungseinbrüchen kommt? Ich habe da leider keine Erfahrungswerte, so dass ich nicht sagen kann ob ich die Userzahl erstmal auf 1000 begrenze oder ob es so ist, dass auch 10000e erstmal kein Problem darstellen für die Technik. Ab wann muss ich mir über solche Probleme ernsthaft Gedanken machen?
du mußt dir jetzt schon gedanken machen wieviele user überhaupt kommen. ich glaube da lebst du in träumen. ich hab selber zwei MMOGs geschrieben und krieg so gut wie keine kundschaft, daß ich überlege sie einzumotten...
Ben _ schrieb: > du mußt dir jetzt schon gedanken machen wieviele user überhaupt kommen. > ich glaube da lebst du in träumen. Tjo schwer zu sagen. Am Anfang rechne ich jetzt nicht mit dem Ansturm aber vielleicht überzeugt das Konzept doch und es wird tatsächlich mal 4-stellig.
viel glück! wirste brauchen. es existiert da ein völliges überangebot bzw. wie immer können die wirklich großen OBGs den hals nicht voll kriegen. dazu kommt, daß das einzig gute an diesen großen OBGs die werbung, bedingt durch den kommerziellen betrieb, ist. das spiel selber ist dann oft verbugt bis zum geht-nicht-mehr oder andere dinge versauen den spielspaß, sodaß jeder neue spieler der es bei einem großen spiel von dem er mal gehört hat gründlich davon geheilt wird und nie wieder sowas anfasst weil "MMOGs ja alle scheiße" sind.
D. I. schrieb: > spielen können, bevor es zu Leistungseinbrüchen kommt Kommt ganz stark auf deine Programmierkünste an, leider sind die ja nicht sehr auskunftfreudig auf der Seite, bei shared hostings gibt es meistens Laufzeit und Speicherbeschränkungen darauf sollte man dann achten und die begrenzen das ganze im Prinzip nur. Ich würde erstmal anfangen... Wenn dann die hunderttausenden User da sind kannst du ja immer noch wechseln.
Läubi .. schrieb: > Kommt ganz stark auf deine Programmierkünste an, Würde mal sagen fortgeschritten. Ich schau halt, dass ich möglichst ressourcensparend (und trotzdem lesbar) zurechtkomme, auf komplexe Operationen verzichten kann und die dynamische Typisierung nicht bis zum Anschlag ausreize. Bei PHP habe ich noch nicht so das Gefühl bzw die Erfahrung was wie rechen/speicherintensiv ist. Wurste mich halt durch die einzelnen Methodenerklärungen auf php.net und schau mir die Kommentare dazu an. Richtig nervig ist eigentlich bis jetzt nur dass es kein wirkliches method-overloading gibt, zumindest habe ich das noch nicht entdeckt. Ist dann immer bissl Parametergefummel.
D. I. schrieb: > Würde mal sagen fortgeschritten D. I. schrieb: > Wurste mich halt durch die einzelnen > Methodenerklärungen auf php.net Ist das nicht ein leichter Widerspruch? Zur Performancefrage: Ohne Quelltext und/oder andere Informationen kann man da recht wenig sagen. Wie intensiv nutzt du die Datenbank? Verwendest du im Code und in der DB viel Vererbung bzw. Joins o.ä.? Probier ggf. mal die Demoversion von Zend Studio. Die kann deinen Code bis zu einem bestimmten Maß analysieren und beim optimieren helfen. Wenn du doch mal sehr viel Serverlast hast, musst du bei all-inkl etwas aufpassen. In den AGBs steht IIRC dass sie bei Community-Sites die über ein bestimmtes Maß hinausgehen den Hahn abdrehen. Wo das Maß ist und inwieweit die Vorgehensweise ist, weiß ich allerdings nicht.
D. I. schrieb: > Richtig nervig ist eigentlich bis jetzt nur dass es kein wirkliches > method-overloading gibt Man kann in PHP ähnlich wie bei C++ defaults vorgeben meinst du sowas?
1 | function tuwas($param1, $param2="somethingAsDefault") |
D. I. schrieb: > Ich besitze folgendes Hostingpaket: > > http://all-inkl.com/webhosting/privatplus/ also ohne serverseitige sachen wie java etc. ein browsergame zu schreiben, dass noch relativ performant ist... unmöglich was du brauchst ist ein eigener server (erstmal virtual, später dediziert) und kein 0815 mini hostingpaket. kannst ja bei all-inkl mal anfragen, mehr als 100 wirds sicherlich nicht werden mit dem paket..
Chris R. schrieb: > D. I. schrieb: >> Würde mal sagen fortgeschritten > > D. I. schrieb: >> Wurste mich halt durch die einzelnen >> Methodenerklärungen auf php.net > > Ist das nicht ein leichter Widerspruch? Naja beim Konstruktor zum Beispiel scheiterts schon (php 5.3.1):
1 | class A |
2 | { |
3 | public function __construct($arg1) |
4 | { |
5 | |
6 | } |
7 | |
8 | public function __construct($arg1, $arg2) |
9 | { |
10 | |
11 | } |
12 | } |
Ich kann verstehen dass es nicht geht wenns gleich viele Parameter gibt, da die schwache Typisierung den Typ nicht checken kann wie bei Java z.b. aber dass auch das nicht geht ist ärgerlich. Also muss man sich mit diesem default parameter value dingens behelfen, ne andere praktikable Lösung ist mir noch nicht untergekommen. Nein Datenbank Operationen habe ich bisher nur simple. INSERT / einfaches SELECT / UPDATE. Was ich noch nutze sind Transaktionen (InnoDB Engine), wenn mehrere Dinge geändert werden müssen wie bei Käufen, also item von nutzer1 weg, item zu nutzer 2 hinzufügen, geld abziehen, geld hinzufügen, da das ja atomar geschehen muss.
Andi D. schrieb: > also ohne serverseitige sachen wie java etc. ein browsergame zu > schreiben, dass noch relativ performant ist... unmöglich Naja in so einer Liga wie Dark Orbit oä BigPoint Produkte wirds nicht spielen, den Grad an Interaktion wirds auch nicht haben, zumal ich kein Fan von diesem Flash-Gerümpel bin. Ich sehe nicht warum man nicht mit PHP+MySQL + Photoshop / Illustrator fähigen Freundin nix ansehnliches hinbekommen sollte. Ist ja in erster Linie auch nur ein Hobbyprojekt zur persönlichen Fähigkeitenerweiterung, aber man weiß ja nie obs nicht doch Anklang findet und möchte daher Performance-Aspekte berücksichtigen. Shakes & Fidget z.B. ist spielerisch gesehen relativ primitiv, es sieht halt gut aus. Wenn eine erste Version mit ein paar Features fertig ist stelle ich es einfach mal hier rein ;) Glaube nur nicht dass ihr thematisch die Zielgruppe sein werdet :D
D. I. schrieb: > Ich kann verstehen dass es nicht geht wenns gleich viele Parameter gibt, > da die schwache Typisierung den Typ nicht checken kann wie bei Java z.b. > aber dass auch das nicht geht ist ärgerlich. ja, das ist wirklich ärgerlich. Starke typen sollen irgendwann mit PHP6 kommen. Für Overloading gibt es glaube ich (ähnlich wie für Javascript) eine Bibliothek, die die Sache aber nicht viel besser macht... Ich habe für mich einen kleinen Workaround für Overloading gemacht: Ich prüfe, ob die Objekte, die ich übergebe, die sind, die ich erwarte:
1 | $ismyobj = is_object($object) === true ? get_class($object) == get_called_class() : false; |
Ferner kann man mit func_get_args() die Argumente beim Funktionsaufruf ermitteln - ist an manchen Stellen sehr hilfreich.
Ja so in etwa mache ich das auch. Ist halt nur kacke, dass dann eine Methode eben unendlich lang wird anstatt mehrere kleine Methoden zu haben ;) Artet halt in eine if-else kaskade aus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.