Polling - while - Schleife in VServer Umgebung



  • Hallo,

    ist es ein Problem, wenn man auf einem VServer sein Programm so schreibt, dass es keine Nachrichtenschleife o.ä. benutzt, sondern sich einfach einer while Schleife bedient.

    Auf Einzelrechnern klappt das wunderbar, auch wenn es eigentlich unsauber ist.
    Aber das Betriebssystem sorgt schon dafuer, dass alle Prozesse ausreichen Zeit bekommen. Es gibt halt nur keine Leerlaufzeit mehr, bei meinem Einzelrechner kein Problem.

    Ist es den anderen Benutzern gegenueber unfair, oder merken die davon eh nix, da das VServer-Programm die Rechenzeit des realen Hostrechners gleich aufteilt, egal wieviel die GastBetriebsysteme ausgelastet sind?



  • Kommt drauf an, ob der VServer allen Kunden ne bestimmte Rechenzeit zusichert. Spricht ansonsten was dagegen zwischen jedem Pollinganlauf einmal ein paar Millisekunden zu schlafen oder so? Das entlastet das System dann nämlich ein wenig ggf. ohne wirklich funktionalität zu verlieren.



  • das kommt auf die art und weise an wie das system aufgeteilt wird, manche methoden sichern jedem seine bestimmte rechenzeit und sein ram zu, auch wenn es brach liegt. die meisten aber verteilen das dynamisch, weil man dann viel mehr user auf einen hardwareserver bekommt (bei manchen ein paar hundert!) und dann wäre es wirklich schlimm wenn es irgendwo ein paar threads gebe die die rechenzeit verbrauchen, weil die davon ausgehen dass eh nur ein paar php scripts laufen werden. deswegen ist sowas oft nicht erlaubt bzw man bekommt eine kündigung von anbieterseite oder eine aufforderung auf einen anderen server zu upgraden.

    rapso->greets();



  • Ja rapso, sowas in der Art hatte ich befürchtet.
    Obwohl schwer vorzustellen, da ja die Gastbetriebssysteme auch jeweils ihre eigene Leerlaufprozesse haben.

    Ich werde dann einen Kompromiss machen, und den ServerProzess, wenn gerade keine aktiven Verbindungen bestehen, mit poll warten lassen und es sonst bei einer while Schleife belassen, bis die Verbindungen wieder alle bedient/beendet wurden.


Anmelden zum Antworten