Entwicklungsumgebung
am 17.01.2014 - 01:06 Uhr in
Hallo,
ich experimentiere nun schon seit einigen Tagen mit meiner Entwicklungsumgebung herum und komm auf kein akzeptables Ergebnis. Ich arbeite unter Windows, derzeit Windows8.1. Früher habe ich mit xamp und wamp gearbeitet, das habe ich dann irgend wann ersetzt indem ich alles manuell unter Windows installiert habe, also Apache, Php, Mysql usw. Zusätzlich noch ein Tool für Git dann noch was für drush. Das war sehr aufwendig einzurichten und alles was irgend wie in der Kommandozeile laufen sollte machte so und so immer irgend welche macken (drush, git, usw.)
Grundsätzlich war bis dort alles blöd, da ich immer alles unter Windows laufen hatte, da aber eigentlich die meisten Webserver unter Linux laufen war das natürlich schon mal eine schlecht Grundvoraussetzung.
Aktuell habe ich einen gemieteten Virtuellen Server bei Host Europe auf dem eben Ubuntu läuft. Ich Entwickle derzeit direkt auf dem Server, heisst also das jedes mal wenn ich eine Datei speicher die hochgeladen werden muss. Das ganze ist natürlich nicht schnell und so Sachen wie Livereload, Sass, Compass, Less, usw. funktionieren auch nicht richtig.
Somit will ich von dem System auch wieder weg und den Server vielleicht für Staging verwenden falls nötig. Die Frage ist nun aber was soll ich als alternative verwenden. Grundvoraussetzung ist aufjedenfall das ich einen Linuxserver, vorzugsweise Ubunut haben will. Die einzigen Lösungen die mir hier einfallen sind folgende.
- Eigenständiger PC im Heimnetzwerk auf dem der Server läuft:
Ich hab nur einen alten PC den ich dafür verwenden könnte bzw auch schon probiert habe. Von der Performance komme ich ca. auf die von Hosteurope, nur eben spar ich mir die langsamen up und downloads. Das Problem ist das ich den PC (Server) nicht immer laufen lassen will, da es ja eigentlich keine Serverhardware ist und einigen an Strom fressen wird. Mal davon abgesehn ist die Hardware schon veraltet, der Rechner extrem laut und groß. Zusätzliches Problem ist auch noch das Umständliche kopieren einer Website falls ich sie mal auf meinen Notebook mitnehmen will zum Kunden oder dergleichen. - Virtualbox mit Ubuntuserver:
Das wäre eigentlich eine sehr schöne Lösung, man kann den Server relativ schnell auch auf dem Notebook mitnehmen, ich brauche keine extra Hardware und kann mehrere Server mit unterschiedlicher Konfiguration aufsetzen. Das hab ich natürlich auch schon ausprobiert, mein großes Problem dabei ist aber das mir zu langsam läuft. Bei den Page Execution Times habe ich min. das doppelte als ich beim Hosteurope Server habe oder beim eigenen Hardwareserver. Bring nur ich es nicht zusammen oder ist das einfach nicht möglich? Der Host PC hätte eigentlich ausreichend Leistung (16GB RAM, i7 Prozessor, SSD) - Vagrant:
Die dritte Lösung ist eigentlich keine eigene Lösung sonder hauptsächlich eine Verbesserung der zweiten. Das währe eigentlich schon fast eine Perfekte Lösung da man damit das gleiche hat wie bei der zweiten, nur kann man neue Server viel schnell aufsetzen, abschalten, kopieren, usw. Die Version hat aber natürlich das gleiche Problem wie die zweite, nämlich eine schlechte Performance.
Was verwendet Ihr als Entwicklungsumgebung? Ich weis ehrlich gesagt nicht mehr was ich Probieren soll. Ist die Performance mit Virtualbox nie besser? Oder habt ihr vielleicht einen viel besseren Vorschlag? Direkt Online entwickeln kann man auch vergessen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Für Lösung 2 gibt es hier im
am 17.01.2014 - 01:28 Uhr
Für Lösung 2 gibt es hier im Drupalcenter sogar eine Gebrauchsanweisung. Die benutze ich gerne in einem Drupalkurs, weil man verschiedene Zustände des Servers (= Fortschritt der Arbeit) bereits fertig mitnehmen kann.
Ich entwickle auf einem Mac und habe darauf einen LAMP-Stack, der mir auch virtuelle Hosts im Apache erlaubt. Daneben funktionieren auf dem Mac auch Sass und Livereload, da ein Unix Unterbau in OSX vorhanden ist.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Tja das hilft mir nun leider
am 17.01.2014 - 02:54 Uhr
Tja das hilft mir nun leider nicht weiter, ich bin zwar schon am überlegen ob ich auf mac oder linux wechseln soll. Aber so schnell wird das nix. Wie ist die Performance deines Virtualbox Servers?
wenn du an einen physischen Server denkst
am 17.01.2014 - 09:22 Uhr
kannst du dort UBUNTU aufsetzen.
Dann hast du für deine täglichen Dinge das gewohnte Windows, und der Apache läuft unter Linux in einem eigenen System.
Nachteil ist, es ist eine eigene physische Maschine (was auch gleichzeitig der Vorteil ist), die selbst Strom verbraucht.
Allerdings hast du damit auch den Vorteil, dass es ein isoliertes System ist, das 100% der Resourcen für sich hat, und deinem Arbeitsplatz keine Resourcen raubt.
Aber so hungrig ist ein Apache garnicht.
Alternativ ist eine XAMPP-Installation auf deinem Arbeitsplatz.
Da läuft der Apache dann unter localhost im Hintergrund mit.
Und wenn du eine richtig dicke Maschine am Arbeitsplatz hast, kannst du auch eine virtuelle Maschine auf deinem PC einrichten, in der ein Ubuntu oder anderes Linuxsystem läuft.
Grüße
Ronald
@roland alles was du hier
am 17.01.2014 - 16:30 Uhr
@roland
alles was du hier vorschlägst hab ich bereits Probiert und keines davon macht mich glücklich. XAMPP oder dergleichen fällt so und so weg da ich hier viel zu unflexibel bin. Ich will auch noch andere Servertools installieren können, das ist bei XAMPP aber einen bestimmten Grad immer ein Problem und es wird nie einen richten Server simulieren können. Einen physischen Server habe ich auch schon Probehalber aufgesetzt, nur erstens ist die derzeitige Server Hardware wenn überhaupt eine Notlösung, somit müsste ich mir extra einen Server-PC kaufen, und zweitens hat man hier den riesen Nachteil das man das ding bzw die Projekte die darauf laufen nur sehr umständlich zum Kunden mitnehmen kann. Den Server selbst nimmt man so und so nicht mit, somit müsste man das Projekt jedes mal wieder wo anders Zwischenhosten, was mit sehr viel Aufwand verbunden ist. Von außerhalb direkt auf den Server zugreifen funktioniert zwar, hat jedoch aufgrund von extrem schlechten Uploadraten eine unmögliche Performance. Die für mich eigentlich einzige vorstellbare Lösung wäre eine Virtualle Maschine wo der Server läuft, nur aus irgend einen Grund bringe ich keine wirklich gute Performance zusammen. Die Page Execution Times sind doppelt so hoch wie bei einem gewöhnlichen Webserver der im Internet gehostet ist. Das macht keinen spaß wenn man da im Drupal Backend arbeiten muss. Ich kann mir die schlechte Performance eigentlich nicht erklären, das Host System hätte sicherlich eine ausreichende Hardware:
Ich kann der Virtuellen Maschine ohne Probleme in Virtualbox 8GB RAM zuweisen, nur das bringt nix, es werden wenn ich nachkucke so und so nie mehr als 1GB verwendet. Ich habe auch eingestellt das 4CPU's verwendet werden und die Gasterweiterung habe ich auch installiert. Bringt aber alles nichts.
Hab nur ich so eine schlechte Performance bei meiner Virtuellen Maschine oder habt ihr das auch? Bei einer noch relativ frischen Seite bekomme ich unter /admin/structure bei meinem Hosteurope Server im Schnitt ca 45ms Page execution time. Bei meinen Virtuellen Server auf der gleichen Seite ist mein Schnitt bei ca. 150ms. Und das ist eine der Seiten wo es noch schnell geht.
Dann wirst du wohl
am 17.01.2014 - 16:55 Uhr
einen physischen Server aufsetzen müssen.
Wobei ich denke, dass diese Antwortzeiten nicht ok sind.
Da bremst noch etwas Anderes.
Drupal ist sehr Datenbankintensiv. Ich hoffe mal, du setzt mySQL oder Maria-DB ein. Mit mySQL-Light geht es zwar auch, aber die Performance dieser Datenbank lässt sehr zu wünschen übrig.
Da du entwickelst, wirst du nicht hunderte gleichzeitige Zugriffe haben. Deshalb spielt der gesamte Hauptspeicher weniger eine Rolle.
Wichtig ist aber der zugewisene Prozessspeicher, der in der php.ini steht.
Grüße
Ronald
Ja, MYSQL. Was ist der
am 17.01.2014 - 21:58 Uhr
Ja, MYSQL. Was ist der zugesicherte Prozessorspeicher in der php.ini? memory_limit? das hab ich schon mit 128, 256, 512 Probiert. Ändert alles nichts. Mal davon abgesehn das ich ja mit den gleichen Einstellungen auf meinen physischen Server eine viel bessere Performance habe.
Also ich habe hier
am 17.01.2014 - 23:09 Uhr
einen Ubuntu 12.04 mit 4 GB RAM laufen.
Als virtualbox außerdem win 7 und Free BSD. Je nachdem wenn ich die virtualbox starte vergebe ich mehr oder weniger RAM. Dann läuft das eigentlich immer flüssig.
Andere Frage: Wenn Du augenscheinlich zum einen nicht ganz unbedarft bist mit Systemen, zum anderen sowieso Hardware Ressource satt hast, warum machst Du kein Dualboot und klebst Dir noch Ubuntu als natives BS auf die Platte? An den Ressourcen kann es ja nicht liegen!???
So, ich habe zwar noch keine
am 18.01.2014 - 01:42 Uhr
So, ich habe zwar noch keine wirkliche Lösung des eigentlichen Problems, aber zumindest komme ich der Ursache schon etwas näher. Ich hab nun ohne Vagrant eine Virtualbox Maschine aufgesetzte, aber diesmal nicht mit Ubuntu Server sondern mit Ubuntu Desktop. Und siehe da, zack der Kasten lauft sau schnell. Die frage ist nun warum die ganzen Ubuntu Server Installationen so langsam sind, da ich ja vorzugsweise die verwenden würde, da ich Ubuntu Desktop ja nicht mit Vagrant verwenden kann. Nur nochmal zur Info, Ubuntu Server läuft mit Vagrant aufgesetzt langsam und auch mit einer Manuell aufgesetzten Virtualbox Maschine. Bei meiner schnellen Desktopmaschine habe ich übrigens die Guest Edition installiert, aber ich glaube nicht das es daran liegt, da ich das ja bei den Server Installationen auch schon probiert hätte und die Guest Addition ja eigentlich für den Server gar keinen Performancegewinn bringen kann.
So ich kann mir nun selbst
am 18.01.2014 - 02:16 Uhr
So ich kann mir nun selbst die Antwort geben. Es liegt an dem shared folder. Ich hab den Webroot zuvor immer in den shared folder gelegt. Ich hab zwar schon gelesen das es Performance Probleme mit dem gibt aber dachte nicht das das auch eine Auswirkung darauf hat wenn man die Website abruft, da ja die Dateien nicht über den shared folder übertragen werden sondern per http. Tja Tatsache ist aber das es so ist, ich hab nun einen Samba Server eingerichtet und spiel meine Websitedaten über den rein und alles geht schnell. Hab nun Page Execution Times von 35 wo ich vorher bei 150 war. Und das aber mit der 0815 Serverinstallation, mal sehn vielleicht kann man sogar noch was raushohlen.
Von Ubuntu kann man
am 24.01.2014 - 18:30 Uhr
Von Ubuntu kann man mittlerweile eigentlich nur noch abraten, da das Projekt immer mehr kommerzialisiert wird und viele Ressourcen schluckt, den ganzen Kram braucht man für einen LAMP gar nicht. Guckt euch mal Arch Linux an, das ist zwar nicht ganz so einfach zu installieren und zu konfigurieren, aber imho viel schneller. Alternativ kann man auch Chakra oder Manjaro ausprobieren, das sind Distris, die auf Arch basieren und viel user freundlicher sind.
Unter Windows benutze ich den Uniform Server, der läuft bei mir richtig zackig und hat den Vorteil, dass man nichts installieren muss, einfach entpacken, Apache und mysql starten und schon kann es losgehen. Kein Vergleich zu Xampp.
Hallo Hörbie, ich habe länger
am 24.01.2014 - 21:26 Uhr
Hallo Hörbie,
ich habe länger überlegt ob ich darauf reagiere.
Bei allem Respekt, es ist durchaus richtig dass das Projekt kommerzialisiert ist. Frage: ist das jetzt gut oder schlecht? Wenn ich mir die Forenbeteiligung in den einzelnen Distris anschaue, die Geschwindigkeit der updates etc. habe ich da eine andere Meinung als Du.
Ich arbeite mit Entwicklern zusammen die auf Gentoo schwören (was ich zugegebenermaßen nie verstanden habe). Ich selbst habe Erfahrungen unter Suse, FreeBSD und AIX.
Der Vorteil für mich auf einer Hausmaschine Ubuntu laufen zu lassen liegt einfach darin, dass es schnell und gut dokumentiert auf Neuerungen eingeht. Selbst die Server Version läuft bei einigen Kunden von mir. Und zwar problemlos, und das zählt!
Ich arbeite auch unter Windows, und wenn man sich da manche Dateien anschaut sind Parallelen unwiderruflich gegeben!
Was ich eigentlich sagen möchte: Jedem Tierchen sein Plaisierchen...
Bis denne
Hallo maen!Mein posting
am 25.01.2014 - 12:28 Uhr
Hallo maen!
Mein posting kommt wahrscheinlich zu negativ rüber, so extrem schlecht finde ich Ubuntu für den Desktop gar nicht, aber die Kommerzialisierung sehe ich weiterhin kritisch. Um es als LAMP-Basis in einer VirtualBox zu nutzen wäre es mir einfach zu fett, die Ressourcen werden unnötig verbraten. Ich habe lange Jahre mit LAMP unter Ubuntu gearbeitet, bis unity eingeführt wurde, da bin ich dann erst zu Mint und danach zu Arch gewechselt. Zum Ubuntu Server kann ich nichts sagen, das habe ich nie benutzt, von daher gibt es da von mir auch keine Kritik. Ich persönlich würde eine Serverdistri aber nicht in einer VirtualBox installieren, da müsste dann schon ein eigener Rechner her.
Deinem letzten Satz kann ich nur zustimmen!
Noch ganz was anderes. Wenn
am 25.01.2014 - 16:24 Uhr
Noch ganz was anderes. Wenn das
>>Entwickle derzeit direkt auf dem Server, heisst also das jedes mal wenn ich eine Datei speicher die hochgeladen werden muss.
das Hauptproblem ist, gibt es Editor seitig ja auch die Möglichkeit mittels FTP-Sychronisierung direkt auf dem Server zu arbeiten. Bei Notepad brauchst Du dazu die Erweiterung NppFTP aber auch Aptana Studio ist dafür hervorragend geeignet.
In Verbindung mit einem Entwicklungsserver (z. B. bei uberspace) ist das sehr bequemes Arbeiten.
Gruß
Christian
Don't code today what you can't debug tomorrow
Ariya Hidayat
Derzeit nutze ich PhpStorm,
am 25.01.2014 - 16:38 Uhr
Derzeit nutze ich PhpStorm, da funktioniert das direkte arbeiten am Server nicht. Aber mal angenommen es würde funktionieren, das Problem mit meinem sehr schlechten Upload hätte ich immer noch. Ich hab zwar noch nicht alles fertig eingerichtet aber seit des es nun schneller geht bin ich eigentlich mit Ubuntu Server in der Virtualbox sehr zufrieden. Vorallem in kombination mit Vagrant. Das funktioniert nun alles sehr schnell, ich kann ohne irgend welchen Sicherheitsrisiken herum experimentieren und wenn mal was schief geht lösche ich die Vagrant Instanz und lass mir in kürzester zeit eine neue Instanz automatisch durch Vagrant aufsetzen.
Ob ich jetzt Ubuntu Server, Arch order was weis ich da laufen habe ist mir eigentlich relativ egal. Ich verwende Ubuntu Server weil es das einzige ist womit ich zumindest ein bisschen Erfahrung habe und es von den meisten Hostern auch angeboten wird.
Deine Lösung klingt ja sehr
am 25.01.2014 - 16:52 Uhr
Deine Lösung klingt ja sehr gut, und wenn alles passt umso besser...
Zur Ergänzung wollte ich nur angeben, dass man m.M. auch mit PHPStorm auf einem remote Server arbeiten könnte: http://www.jetbrains.com/phpstorm/webhelp/creating-a-remote-server-confi... Problematisch wird diese Methode bei allen Editioren wenn man die vollen IDE-Funktionalitäten will. Update-Zeiten spielen meiner Erfahrung nach (relativ mickriges asynchrones DSL) bei den php, js und css-Dateien keine große Rolle.
Gruß
Christian
Don't code today what you can't debug tomorrow
Ariya Hidayat
Richtig Problematisch wird es
am 25.01.2014 - 19:49 Uhr
Richtig Problematisch wird es dann erst wenn man Sass, Compass, Susy, usw. am remote Server verwenden will. Das compiling wird ja dann am remote Server gemacht und das wird dann alles sehr Träge. Zuerst muss die Datei hochgeladen werden danach muss man kuggen ob compiliert wurde, und aus erfahrung kann ich sagen das das nicht immer klappt am remote, und dann kann man erst aktualisieren und sehen ob es passt.
wenn performance wichtig ist
am 25.01.2014 - 19:52 Uhr
darf man den Server nicht mit jedem Kram volladen.
Wenn es wirklich nötig ist, ganz viele Funktionen zu nutzen, kann es sinnvoll und richtig sein, diese auf mehrer Server zu verteilen.
Fileshares sollten genau sein, und nicht eine ganze Platte umfassen.
Den Windowsexplorer sollten die Clients immer wieder mal schließen, da dieser ansonsten ständig am Fileserver nuckelt.
Grüße
Ronald
jetzt fällt mir noch eine
am 25.01.2014 - 22:00 Uhr
jetzt fällt mir noch eine andere Frage zu dem Thema ein. Wie testet ihr die ganzen Mailgeschichten? Ich kann ja zumindest derzeit von meine Entwicklungsserver keine Mails verschicken.
kitikonti schrieb jetzt fällt
am 26.01.2014 - 22:49 Uhr
jetzt fällt mir noch eine andere Frage zu dem Thema ein. Wie testet ihr die ganzen Mailgeschichten? Ich kann ja zumindest derzeit von meine Entwicklungsserver keine Mails verschicken.
Mails kann man auf dem Server recht gut mit dem [do:maillog] Modul testen - dies erlaubt es alle ausgehenden Mails direkt zu loggen und verhindert auch das Verschicken der Mail an die wirklichen Empfänger. Falls dein Server selbst keine Mails verschicken kann, hilfe hier ein externer Mail-Server, dieser lässt sich über das [do:smtp] Modul eintragen/ nutzen.
Alternativ zu maillog wäre noch das [do:mail_redirect] Modul, dies leitet alle ausgehenden Mails an eine definierte Adresse um. Hier ist natürlich ein funktionierendes E-Mail System Voraussetzung.
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.
Danke für die Antwort aber
am 26.01.2014 - 22:58 Uhr
Danke für die Antwort aber ich hab bereits eine funktionierende Lösung entdeckt die mir sogar besser gefällt als deine Vorschläge. Maillog ist nicht wirklich interessant da ich ja auch Mails testen will die rausgehen. Das SMTP Modul ist auch nicht wirklich toll, da ich dass ja dann auf dem live Server nicht brauchen kann und somit immer einen Mehraufwand hätte wenn ich was ändere usw.
So nun zu meiner Lösung. Ich verwende jetzt ssmtp und habe das nach dieser Anleitung eingerichtet.