Their solution: restart the server after 8000 requests.
This worked for a year or two. And then it started OOM-ing after 8000 requests.
Next solution: restart the server after 6000 requests.
Their solution: restart the server after 8000 requests.
This worked for a year or two. And then it started OOM-ing after 8000 requests.
Next solution: restart the server after 6000 requests.
8000 requests is something like 500 milliseconds for the average ad server.
You need exceptionally fast restarts for that to work.
I don't know about ads, but on Yahoo Travel, I had no qualms about solving memory leaks that took months to show up with MaxRequestsPerChild 100000. I gave valgrind or something a whirl, but didn't find it right away and was tired of getting paged once a quarter for it, so...
I did do some scaleout work for Shopping once, and found theirs set at 3. I don't remember where I left it, but much higher. Nobody knew why it was 3, so I took the chance that it would become aparrent if I set it to 100, and nothing obvious was wrong and the servers were much happier. fork() is fast, but it's not fast enough to do it every 3 requests.