# Hardwareanfordungen bei Webprojekten



## Vivid (23. Okt 2012)

Hi, 

wie ich schon in einem anderen Posting geschrieben habe, möchte ich wegkommen von PHP/Java Script/HTML/jQuery, etc... Durch das Studium bin ich auf Java (JSP, Servlets, ...) aufmerksam geworden. Leider hat uns im Studium niemand mitgeteilt, welche Hardware-Anforderungen solche Java Projekte haben.

Ich habe schon Erfahrungen mit Adobe Flex und sämtlichen CMS (in PHP) gemacht. Wenn ich mir aber die VServer bei so einigen Hostern ansehe (Virtual Server (VPS) Hosting - Linux, Windows & Managed Lösungen (mieten) von Host Europe) habe ich schon meine Bedenken, ob Java sich für kleinere Projekte eignet. 

Wie sieht ihr das denn? Java nur bei größeren Webprojekten einsetzen und dann gleich ein Root-Server holen? Oder auch kleinere Dinge mit Java machen? Immerhin muss der Kunde ja einen entsprechenden Server bereitstellen. :bae:

Viele Grüße


----------



## Firephoenix (23. Okt 2012)

Bin selbst noch Einsteiger in dem Bereich, für genaueres dürfen hier dann die Experten ran =)

Von dem was ich bis jetzt gesehen habe sind die Application-Server insgesamt doch recht schmal (Verbrauchter Arbeitsspeicher im Leerlauf ist wohl irgendwas < 100 Mb, empfohlener Festplattenspeicher < 1 GB, beides Zahlen die bei heutigen Speicherkosten eher uninteressant sind, nach oben sind die Server dann wohl eh nach belieben skalierbar).

Ich denke hier hängen die Hardwareanforderungen eher von den Applikationen ab die du auf dem Server laufen lässt - und da gilt dann wie bei "normalem" Java auch: Mit besserem Code erreicht man mehr als mit besserer Hardware.

Ob der Kunde dann einen Server mieten oder selbst anschaffen will hängt wohl auch davon ab was ihm die Anwendung bringt, je nach Nutzen fallen da ein paar Zusatzkosten für einen eigenen oder gemieteten Server nicht mehr ins Gewicht.

Eigene kleine Experimente kann man ja ohne Probleme lokal durchführen,ich spiele allerdings selbst gerade mit dem Gedanken ob ich mir für kleinere Sachen nicht mal einen v-server zulegen soll (da tut es dann aber auch eine kleine Ausführung  )

Gruß


----------



## homer65 (24. Okt 2012)

Das hängt halt sehr von der von dir geschriebenen Software und von der Art der Nutzung ab.
Als minimal Anforderung reichen die üblichen kleinen vServer für ca 10 Euro pro Monat aus.
Habe selbst kleinere Projekte auf mehreren vServer laufen lassen und hatte keine Performance Problem.
Aber wie gesagt, das läßt sich schwer vorhersagen. 
Das einzige was du tun kannst, ist klein anfangen und gegebenenfalls aufrüsten.


----------



## Vivid (24. Okt 2012)

Danke für eure Antworten.

Ich weiß ja nicht, wie fit ihr in PHP, etc. seid. Aber mir scheint es so, als wäre Java für Mini-Projekte gar nicht geeignet. Es wirkt so, als würde die Hardwareanforderung recht schnell anwachsen. Ich will nicht sagen exponentiell, aber schon recht steil.  

Für mich sieht es so aus, als würde man bis zu einem bestimmten Punkt lieber mit PHP entwickeln und ab dort dann mit Java (oder ähnlichem) weitermache. Kann das sein? PHP hat halt ganz geringe Voraussetzungen.


----------



## Firephoenix (24. Okt 2012)

Anhand von Hardwareanforderungen würde ich eigentlich (fast) keine Programmiersprachen mehr vergleichen.
Ein Vergleich für ein "Leerlauf"-Programm lohnt sich nicht, denn fast alle Umgebungen (siehe auch oben) sind vom Speicher und CPU-Verbrauch kaum der Rede wert (wenn man jetzt nicht gerade im Bereich eingebettete System unterwegs ist und um jedes Register feilscht).
Wird die Anwendung komplexer würde ich mal behaupten das der Ressourcenverbrauch einer OOP-Sprache einmal von der Anwendung selbst und einmal von dem Code abhängt - aber nicht von der Sprache.
Ein Bildverarbeitungsprogramm benötigt wohl mehr Ressourcen als eine Textverwaltung und man kann fast überall gut und schlecht mit Ressourcen umgehen (häufig Objekte erzeugen, Objekte zu lange im Speicher vorhalten etc). Bei Java-Applicationservern geht hier von Haus aus schon einiges im Bereich skalierbarkeit (z.B. Objekpooling bei Stateless Beans).

Für den Vergleich Java-Php hat vielleicht jemand anderes mehr Infos der sich mit beiden Sprachen besser auskennt, für mich ist Java ein guter Hammer und da sehen viele Probleme auch wie Nägel aus 

Gruß


----------



## Vivid (24. Okt 2012)

Also, mir kam es so vor (!!!), dass das "drumherum" bei Java einfach mehr Ressourcen frisst, als bei PHP. Die ganze Runtime, etc. Ich habe z.B. testweise mal Liferay auf einem VServer (1GB RAM) installiert und es war einfach mega langsam. Im Vergleich dazu mal Drupal ausprobiert, was richtig gerannt ist.

Ich wollte ein Portal entwickeln, für eine Branche die sowas brauchen könnte, aber leider nicht so viel Geld hat. Wenn ich dieses Portal nun mit Liferay mache (weil z.B. Benutzerverwaltung schon integriert), so würden mir die Nutzer sagen, dass sie kein Geld für ein VServer mit 2GB (oder mehr) RAM haben.

Bin aber gerne offen für Anregungen. Stichwort: "Portale".


----------



## homer65 (24. Okt 2012)

Nutzt Liferay den überhaupt das GB RAM? 
Bei Java kann man einstellen, wieviel RAM eine JVM nutzen kann.
Wenn der Wert zu klein ist, kannst du soviel RAM haben wie du willst, es wird nicht genutzt.
Ein weiterer Punkt bei JSP ist, das die Seiten beim ersten Aufruf erst compiliert werden.
Beim zweiten Aufruf geht es deutlich schneller.

Edit:
Kenne Liferay leider nicht, aber es gibt Performance Tipps, z.B.: 
Performance - Wiki - Liferay.com
Du brauchst die Flinte nicht so schnell ins Korn zu werfen.


----------



## Vivid (24. Okt 2012)

Ja, ich hatte die JVM schon so eingestellt, dass sie ca. 800MB nutzt. Das System braucht ja auch noch ein bisschen RAM. 

Aber ist schon Kriterium, dass "arme Organisationen" natürlich nicht immer Geld für einen VServer haben, oder?


----------



## homer65 (24. Okt 2012)

Ehrlich gesagt kenne ich keine Organisation die derart arm ist.
Selbst unser TT Verein könnte sich das leisten.


----------



## KSG9|sebastian (24. Okt 2012)

Na ja..aber du kannst ja auch kein Enterprise Portal auf einem Application Server mit ner kleinen PHP-Webseite vergleichen. Und Drupal an sich bringt ja mit der Installation praktisch nix mit an Content.

Da könnte ich auch eine HTML-Seite mit ner Zeile Text vergleichen mit ner PHP-Anwendung für ein Großunternehmen...da ist die HTML-Seite auch schneller 

Java an sich setzt praktisch nix voraus an Hardware..anders sieht es aus wenn du einen Servlet-Container, Webserver oder gar AppServer betreiben willst. Da werden dann doch schon ein paar MB gebraucht..aber selbst da bist du nicht annähernd bei nem Gigabyte.


----------



## Vivid (24. Okt 2012)

Danke für eure Antworten. 

Wenn ich da noch nicht lange bei einem GB bin, frage ich mich schon, wieso Liferay 
a) 1 GB RAM voraussetzt und 
b) bei 1 GB RAM so langsam läuft.

Habt ihr eine Idee?


----------



## TheDarkRose (24. Okt 2012)

Naja, du hast der VM auch nur 800MB zugewiesen, also konnte Liferay nicht mal 1GB nutzen.

Und ehrlich, wenn man wirklich einen VServer selber administrieren kann, dann sucht man sich den entsprechenden Anbieter und ist nicht viel mehr teurer als Webspacepakete. Oder wenn du der ordentlichen Virtualisierung mächtig bist, dann besorg dir einen leistungsstärkeren Root (Hetzner ist für den Anfang recht günstig, bietet trotzdem ordentlich was bei der EX Serie) und erstell selbst vServer, die du deinen Kunden weitervermietest, dann kannst du den Preis auch drücken.

Ergänzung: Muss es denn für jeden Kunden ein eigener vServer sein? Wenn man nicht gerade einen Applicationserver braucht, kommt man mit Tomcat alleine auch gut aus. Dann kann man auch mehrere Kunden in einer Tomcatinstanz laufen lassen.


----------



## KSG9|sebastian (25. Okt 2012)

Ich weiß nicht was du konfiguriert hast oder wie dein VServer eingestellt ist..aber wenn ich Liferay lokal laufen lasse dann rennt das Ding ziemlich flott..


----------



## Vivid (25. Okt 2012)

Welche Hardware hast du dem Teil denn gegeben? Also wieviel RAM, etc?
Läuft es bei dir in einer VM oder unter direkt unter deinem OS?


----------



## Vivid (27. Okt 2012)

@KSG9|sebastian 

Kannst du vielleicht mal kurz mitteilen, wie du deine Konfiguration vorgenommen hast? Vielleicht habe ich da schon ein Fehler. Wäre echt super. Also ich meine jetzt beim JBoss oder was auch immer du nutzt.


----------

