Beitrag
von Sotrax » 3. Apr 2005, 13:08
Für die allererste Alpha Version die spielbar war, hab ich etwa einen Monat gebraucht, danach ruhte das Projekt jedoch rund 6 Monate und ich wusste nicht ob ich dran weitermachen würde, was ich jedoch getan hab und so kam es dann zur öffentlichen Beta. In der ersten Alpha war Freewar jedoch nicht mit dem zu vergleichen was es jetzt ist.
Ansonsten ein PHP Profi bin ich nicht wirklich, habe davor noch keine wirklich großen PHP Projekte geschrieben, aber programmiere bereits seit sehr langer Zeit (mittlerweile seit 12 Jahren) C++. Ich kann auch deutlich besser C++ als PHP. Ansonsten um den optimalen Speed aus PHP / MySQL rauszuholen bleibt nix anderes übrig als extrem viel zu testen in allen möglichen Konfigurationen. Ausserdem verwende ich einen Profiler um zu sehen an welchen Codestellen die eigentlichen Flaschenhälse sind (oft sind es Details in SQL wie eine Abfrage ala "... WHERE blabla<>0 and blabla<UNIX_TIMESTAMP()" durch sowas zu ersetzen wie "... WHERE blabla BETWEEN 1 AND UNIX_TIMESTAMP()" um ein Statement um den Faktor 10 zu beschleunigen.).
Die Geschwindigkeitsprobleme ganz zu beseitigen ist jedoch schwer bis unmöglich. In W1 wird es immer schwerer für den Server bei etwa 100 000 Items in der Datenbank und hunderten von Abfragen pro Sekunde alles noch schnell darzustellen. Dies ist auch der Grund, weswegen die Freewar Server sehr viel Ram brauchen (jeweils 2 GB pro Server) und recht schnelle Prozessoren.
---
Sotrax