• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Domains in Echtzeit anlegen bei vielen Usern auf dem Server?

masterofnothing

New Member
Hallo Forum,

Ich betreibe einen Freehostingdienst - hier befinden sich etwa 5000 User auf einem Server. Diese User haben meist eine Subdomain in der Form userdomain.hoster.com, seltener auch eigene Domains a la username.com.

Dementsprechend groß ist die vhosts. Bei der Frage ob Operationen wie "neue Domain hinzufügen" (z.B. wenn ein Nutzer sich neu anmeldet oder eine neue Domain aufschaltet) in Echtzeit oder per Cron durchgeführt werden sollen, habe zwei wiedersprüchliche Meinungen.



Sysadmin XX sagt: "Es würde bei einem Apache Reload zu lange dauern bis alle vhosts geladen werden. Operationen die einen Apache Reload benötigen, müssen deshalb per Cronjob in größeren Abständen(z.B. 3 Stunden) durchgeführt werden, wenn ein stabiler Betrieb sichergestellt werden soll."

Sysadmin XY sagt: "Wir können die Operationen auch in Echtzeit durchführen. Bei einem Apache Reload wird nicht wie bei einem Apache Restart die vHost Tabelle neu geladen. Die Serververfügbarkeit wird auch bei Echtzeitbetrieb nicht beinträchtigt."

Wer hat recht?

Debian Etch, Apache, PHP als mpm-itk.
EQ4 Standardserver von Hetzner.

Vielen Dank für etwaige Antworten!
 
Danke. Danke Euch für die Antworten.

Mit /etc/init.d/apache2 reload kann man zwar die vhosts reloaden, aber bestimmte Config Elemente nicht.
Die aber auf einem Freehoster reloaded werden müssen. Ich spiele hier natürlich auf suexec an, was die User voneinander isoliert.

Ich glaube einfach "restart" durch "reload" ersetzen bringt es nicht ... oder lieg ich hier total falsch?
 
Sorry wenn ich den Thread nach einer Woche bumpe, aber wir brauchen die Info um mit der Entwicklung fortfahren zu können.

Mein Tec sagt suexec zusammmen mit apache reload geht nicht. D.h. wir können auf einem Freehoster die User nicht in Echtzeit anlegen.

Weiss jemand hier trotzdem eine Lösung? Thx!
 
Ich hab testweise einen Debian Lenny vServer aufgesetzt, Apache im Prefork konfiguriert, PHP mit fcgid und suexec konfiguriert und einen vHost angelegt sowie entfernt.
Beide Male mit "apache2ctl graceful" ein sanfter Restart durchgefuehrt, konnte keine Probleme feststellen.
 
Danke Dir für den Test!

Ist allerdings nicht 1:1 vergleichbar imo.

Wir haben unseren Webserver aus Sicherheitsgründen als apache2-mpm-itk aufgesetzt.

fcgid hat bei den vielen vhosts (~5000) übelst komplexe verursacht und andauerend erorrs.
 
Vielleicht etwas Offtopic. Eventuell ist mod_ruid2 etwas für dich http://sourceforge.net/projects/mod-ruid/.
Läuft ebenfalls als DSO. Ich plane es demnächst zu testen und auch einzusetzen.
Welche Variante deine Anforderungen dann erfüllt kann ich leider nicht sagen.
Bei meinen Änderungen war ein graceful mit Apache + mod_fcgid immer ausreichend um die Änderungen zu machen und nicht belastend. Allerdings bei einem Server mit sehr wenig Domains/Usern.
 
Wir haben unseren Webserver aus Sicherheitsgründen als apache2-mpm-itk aufgesetzt.
Da nichts ueber die Konfiguration verraten wurde musste ich raten ;)

fcgid hat bei den vielen vhosts (~5000) übelst komplexe verursacht und andauerend erorrs.
Bist du sicher dass es nicht der 500-Anfragen-Bug ist wo der fcgid-Prozess bei der 501ten bei hoher Serverlast zwar noch die Anfrage annimmt aber danach direkt beendet (was in einem sporadisch auftretenden "internal error" resultiert)

Wir haben unseren Webserver aus Sicherheitsgründen als apache2-mpm-itk aufgesetzt.
Wenn es einem Benutzer gelingt den Webserver selbst (und nicht die CGI/PHP Umgebungen welche mittels suexec abgeschottet sind) zum Zugriff auf nicht erlaubte Dateien zu ueberreden hat der Benutzer entweder ein schrecklich schlecht abgeschottetes System oder einen 0day-Exploit gefunden...

Dagegen ist es jedoch noch immer in einer Art "beta"-Phase sowie belastet das System mit einem weiteren Fork gegenueber normalem Prefork.
Ob das fuer Massenhosting die ideale Loesung ist?

Dieser Benchmark ist uebrigens sehr interessant:
http://www.workingdirectory.net/posts/2010/benchmarking-php/
 
Danke Dir nochmal für die Antwort.

Bist du sicher dass es nicht der 500-Anfragen-Bug ist wo der fcgid-Prozess bei der 501ten bei hoher Serverlast zwar noch die Anfrage annimmt aber danach direkt beendet (was in einem sporadisch auftretenden "internal error" resultiert)
Nein, nicht sicher, kann sein.

Dieser Benchmark ist uebrigens sehr interessant:
http://www.workingdirectory.net/pos...d/"]http://sourceforge.net/projects/mod-ruid/.
Läuft ebenfalls als DSO. Ich plane es demnächst zu testen und auch einzusetzen.
Welche Variante deine Anforderungen dann erfüllt kann ich leider nicht sagen.
Bei meinen Änderungen war ein graceful mit Apache + mod_fcgid immer ausreichend um die Änderungen zu machen und nicht belastend. Allerdings bei einem Server mit sehr wenig Domains/Usern.
Merci für den Tipp.... wär natürlich spannend zu sehen ob das auch viele User & Hits aushält ... wir wollen die Kisten ja an ihr stabiles Limit fahren um Kosten zu sparen ...


Grüße,
Stefan
 
Last edited by a moderator:
Der Benchmark sagt doch schlicht das unser itk ist das schnellste nach prefork ohne suexec ist, oder interpretier ich hier was falsch?
itk haengt was Reaktionszeit angeht zwischen mod_php (was immer das schnellste ist) und suphp waehrend es zirka gleichauf zu fcgid+suexec ist.
Allerdings ist die load bei itk nach dem Durchlauf laut Test sehr hoch, was wiederum auf solch massiv ausgelasteten Servern nicht unbedingt empfehlenswert ist.
Ich schliesse mich der Meinung des Autors der Benchmarks an, dass man -bei zirka gleichbleibenden Resultaten zwischen fcgid+suexec und itk- eher zu ersterem greifen sollte das es sauber implementiert, stabil und lange getestet wurde waehrend letzteres (nach eigenen Angaben) ungewuenschte Nebeneffekte aufweisen kann.

Hast Du Erfahrung im Bereich Free-/Massenhosting? Vielleicht kannst Du uns eine vollständige Konfiguration für unsere Server vorschlagen?
Leider nicht genug um eine Serverkonfiguration aus dem Aermel zu schuetteln.
Imho sollten hier aber einige rumspazieren die eine solche Einstellung als Morgenroutine durchfuehren ;)
Ausserdem haengt die Konfiguration auch sehr vom Budget und den angepeilten Benutzer ab. Wenn die 5000 Kunden vom Typ Tante-Emma-Laden mit statischem HTML (und eventuell einem Gaestebuch) sind lacht dein Server sich selbst bei den Standardeinstellungen eine ;)
Bei aktiven Kunden (oder gar Wikileaks-Mirror inklusive DDoS :p) sieht die Sache auf Commodity-Hardware schon anders aus ^^
 
Hallo,


Nur eine kurze Info wie die Sache verlaufen ist um ggf. denen weiterzuhelfen die nach einer ähnlichen Lösung suchen.

Wir werden http://httpd.apache.org/docs/2.2/vhosts/mass.html einsetzen, was für mich nach einem eleganten Weg aussieht.

Nachteil hier ist das man kein einzelnes Logfile für jeden user/vdomain haben kann.

Wer hierzu noch Anregungen hat, kann diese gerne mitteilen oder für immer schweigen :)
 
Du kannst das Log per Pipe an ein beliebiges Programm geben und in einer Scriptsprache Deiner Wahl dann in eine entsprechende Datei (deren Name oder Pfad sich aus dem vHostnamen ableitet) schreiben.
 
Back
Top