Monday 7 September 2009
Split world and IPv6
Par Thomas, Monday 7 September 2009 à 15:20 :: General
The joy of deploying a split world DNS system with views.
Monday 7 September 2009
Par Thomas, Monday 7 September 2009 à 15:20 :: General
The joy of deploying a split world DNS system with views.
Friday 3 October 2008
Par Thomas, Friday 3 October 2008 à 15:32 :: Web
Imagine the following situation:
Under a light to moderate load, everything runs smoothly. At 15 req/s it's still runs smoothly. Suddenly, without more traffic, everything stalls. The number of apache workers instantly climbs to 256 (the MaxClients you've set up) and your load balancer can't get a sign of life from your web server and decide to kick it out of the pool.
After cursing and blaming the app to take too much time answering and crippling the system now I have a fairly good view of what happened. As the traffic increase (even for unrelated sites), more and more apache children were launched. Because we run the pre-fork model (the default under *nix), each child will open it's own ajp connection to the backend as it needs it. When that backend reaches it's maxProcessors, the connections starts the go into the backlog of tomcat. But because the answer doesn't come straight away, it keeps the apache child "in use" for that request, which trigger the creation of more and more apache child processes which exacerbate the issue. The same effect could have been caused by a backend responding just moderately slow (15r/s and 15s to answer, that's 225 extra slots used).
Congratulation, with just a butterfly wing flap in one corner, you managed to get the whole building collapse. And whatever the requests per second goes back to, even less than one per sec will keep your system on it's knees.
Now let's look at options to mitigate the effect of the butterfly:
I could plagiarise Brian Moore Despite the tons of examples and docs, mod_proxy_balancer is voodoo. Damned cool voodoo, but still voodoo.
Thursday 24 April 2008
Par Thomas, Thursday 24 April 2008 à 12:25 :: General
Today I had to move users/developers and their working environment to a new box. How to go from static to dynamic.
Tuesday 15 April 2008
Par Thomas, Tuesday 15 April 2008 à 23:23 :: Databases
How to break a fully working mysql master/master cluster for some changes on full text search and stopwords.