Langere sleep() meer server belastend?
Als de tijd in de sleep() function hoger wordt, is het dan meer serverbelastend? Waarom denk ik dit? Het script staat stil, maar staat dan nog in het geheugen van de server.
Wat voor een script is dit dan dat het zo zwaar is?
Gewijzigd op 01/01/1970 01:00:00 door AstroVersum
Waarvoor heb je überhaupt zoveel cronjobs? Als die bestanden niet bij elkaar horen, dan moet je ze niet samenvoegen. Als je per se die cronjobs nodig hebt, voer ze dan 's nachts uit, dan zijn er vaak minder gebruikers op een website. Wat is er zo intensief aan die bestanden?
Een sleep() houdt het proces alleen maar op. Alleen gebruiken indien het nodig is, verder niet.
Het geheugen kan beperkend zijn, maar voor dat soort details beschikken we over te weinig details.
Ik vraag me trouwens af of het echt nut heeft om een "intensief" proces te voorzien van sleep-aanroepen. Ik denk dat het beter loont om het proces gewoon een lagere prioriteit te geven dan bijvoorbeeld Apache en de database-server hebben. Ook lijkt het me sterk dat een cron-job snel zo intensief wordt dat Apache niet meer antwoordt... in mijn ervaring werkt die nog prima onder een behoorlijke cpu-load. Ik maak me eerder druk om bijvoorbeeld de database.
Maar wat doen de cron-jobs? Zijn ze intensief door berekeningen, of door veel I/O- of database interacties?
storeman schreef op 19.06.2008 21:08:
Aan de andere kant, als je een zware loop hebt die je server echt een paar minuten bezig houdt, is het logisch om er af en toe een sleep doorheen te gooien (of liever een usleep), zodat andere request afgehandeld worden door apache. Als je elke 5 seconden 500milliseconden of 1 seconde een sleep doet, wordt de rest tenminste wel beantwoord.
Het geheugen kan beperkend zijn, maar voor dat soort details beschikken we over te weinig details.
Het geheugen kan beperkend zijn, maar voor dat soort details beschikken we over te weinig details.
het gaat hier over cronjobs, niet over PHP in een web implementatie.
Ik denk dat die sleeps niet nodig zullen zijn, een OS houd zelf bij welk proces lang bezig is, en als er dan een ander proces doorheen komt voor een kleine taak krijgt die gewoon voorrang.
Okee, ik meende dat het ging om verschillende requests die intensief zijn.
Overigens heb ik andere ervaringen met processon, apache blokkeert als een een script intensief bezig laat zijn, een andere request timed out.