Langere sleep() meer server belastend?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

AstroVersum

AstroVersum

19/06/2008 20:18:00
Quote Anchor link
Ik ben een script aan het ontwerpen om zoveel mogelijk serverkracht te besparen. Vanmiddag ging ik op zoek naar een phpfunctie om ervoor te zorgen dat het script in gedeeltes laadt -> sleep().

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.
 
PHP hulp

PHP hulp

05/05/2024 03:49:02
 

19/06/2008 20:25:00
Quote Anchor link
Ik zie niet in waarom je je script zou opspitsen met sleep om de belasting te verminderen. Misschien wordt de processor wel minder belast, maar je geheugen blijft idd vol zitten. Als veel mensen dit script tegelijk aanroepen is je geheugen waarschijnlijk eerder overbelast dan je processor.
Wat voor een script is dit dan dat het zo zwaar is?
 
AstroVersum

AstroVersum

19/06/2008 20:32:00
Quote Anchor link
Het is voor een cronjob, en ik heb nu al 15 cronjobs los van elkaar en ik wil dit tot 3/4 bestanden integreren zodat het voor mij overzcihtelijker is. Ik heb 15 cronjobs omdat ik zo min mogelijk de server wil belasten, maar nu wil ik het in 1 bestand doen (met pauses van 10 sec ofzoiets)
Gewijzigd op 01/01/1970 01:00:00 door AstroVersum
 

19/06/2008 20:37:00
Quote Anchor link
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?
 
- SanThe -

- SanThe -

19/06/2008 20:51:00
Quote Anchor link
Een sleep() houdt het proces alleen maar op. Alleen gebruiken indien het nodig is, verder niet.
 
Storeman storeman

storeman storeman

19/06/2008 21:08:00
Quote Anchor link
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.
 
Jelmer -

Jelmer -

19/06/2008 21:18:00
Quote Anchor link
Ik zou geen cron-jobs slechts bij elkaar voegen omdat je de code in 1 bestand wilt hebben. Faalt 1 cron-job, dan falen alle anderen ook.

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?
 
Adje

Adje

19/06/2008 22:22:00
Quote Anchor link
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 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.
 
Storeman storeman

storeman storeman

19/06/2008 22:25:00
Quote Anchor link
@Adje:

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.