PHP sleep() silently hogs CPU

Mar 12, 2012   //   by phpfreelancer.biz   //   Blog, PHP Tutorial  //  No Comments

I’m running Apache on Linux within VMWare. One of the PHP pages I’m requesting does a sleep(), and I find that if I attempt to request a second page whilst the first page is sleep()’ing, the second page hangs, waiting for the sleep() from the first page to finish.

Has anyone else seen this behaviour? I know that PHP isn’t multi-threaded, but this seems like gross mishandling of the CPU.

What this probably means is that your Apache is only using 1 child process.

Therefore:

The 1 child process is handling a request (in this case sleeping but it could be doing real work, Apache can’t tell the difference), so when a new request comes it, it will have to wait until the first process is done.

The solution would be to increase the number of child processes Apache is allowed to spawn (MaxClients directive if you’re using the prefork MPM), simply remove the sleep() from the PHP script.

Without exactly knowing what’s going on in your script it’s hard to say, but you can probably get rid of the sleep().

Leave a comment

Share This Post

RSS Wordpress News

  • The WordPress.com Year in Review (and Resolutions for 2018) January 3, 2018
    It was quite a year for the WordPress.com community, and we've got a lot to look forward to.
  • Managing Your Blog On a Mobile Device December 13, 2017
    A few enhancements we've added to the iOS and Android apps for easier blogging.
  • New Premium Themes: Small Business and Photo Blog December 7, 2017
    Introducing two new premium themes: Small Business, made for your entrepreneurial endeavors, and Photo Blog, designed to make your photography shine.
  • Updated Privacy Policy December 4, 2017
    As part of our commitment to privacy and transparency, we’re updating our Privacy Policy. We want to give you more information about how we collect and use personal information — in a more organized and readable format. “Your privacy is critically important to us.” These are the first words of …
  • Update Your Avatar on WordPress.com October 12, 2017
    Manage, upload, and edit your profile photo at wordpress.com/me.
  • A New Media Picker for the iOS WordPress App October 9, 2017
    Sometimes it’s the extra touches that make all the difference; on your website, that’s the photos and video that give your content life. You asked for streamlined access to your media library and the camera and photos on your device, to make uploading and inserting photos and videos easier. We …