mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
Mark Smith ([staff profile] mark) wrote in [site community profile] dw_maintenance2011-12-29 05:14 pm

Temporary problems loading the site -- resolved.

Dreamwidth was having issues loading for ~15 minutes. This is now resolved.

The summary of the issue is that when you connect to Dreamwidth, you are actually connecting to a bit of software called Perlbal. This software handles routing your request to one of our web servers (we have a bunch) and it also does some other nifty stuff.

The main problem with it is that it's single-threaded. That means that, on the machines we have that have eight or more CPU cores (most modern stuff!), it can only ever run on one of those. This leaves the machine very underutilized -- i.e., it's mostly idle!

This was never a problem for us because even just one core was enough to handle all of the Dreamwidth traffic. At some point we split it up so that static traffic (images, CSS, etc) goes to a second Perlbal instance, but most of the main web traffic still goes through that primary instance.

Today, we finally hit the threshold where Perlbal was taking 100% of the one core it was on and couldn't go any faster. This caused it to queue up requests -- making the site feel really slow. The backend has plenty of capacity, it's just that the frontend wasn't able to go fast enough to handle the traffic.

The fix was to put a much faster load balancer in front and use it to balance traffic to two different Perlbal instances. Now we have a bit of software called Pound that runs in front. We have always been using Pound, but it was only serving SSL requests. Now it is also serving unencrypted HTTP traffic and is then passing that traffic on to two Perlbal instances. In short, it's a load balancer for our load balancers!

This lets us scale more since Pound is an order of magnitude more efficient than Perlbal. By the time we reach the limits of scalability on Pound, we'll have to legitimately move to bigger hardware. (And actually by the time we get there, we will probably be collocating! Exciting!)
wldcatsprstr_14: (Default)

[personal profile] wldcatsprstr_14 2011-12-30 01:24 am (UTC)(link)
Thanks for being so quick with the fixes! I don't think I've ever seen tech support so efficient!
zillah975: (Default)

[personal profile] zillah975 2011-12-30 01:25 am (UTC)(link)
Woot! This is exciting! I love knowing these little nuts and bolts of how all this works. :)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2011-12-30 01:41 am (UTC)(link)
I keep saying, over and over and over again: [staff profile] mark is fabulous at explaining complex technical stuff to the layperson, omg. I learn something every time he does!

(no subject)

[personal profile] zillah975 - 2011-12-30 01:41 (UTC) - Expand

(no subject)

[personal profile] ardath_rekha - 2011-12-30 02:15 (UTC) - Expand

(no subject)

[personal profile] dracavia - 2011-12-30 14:02 (UTC) - Expand

(no subject)

[personal profile] pantswarrior - 2011-12-30 02:36 (UTC) - Expand

(no subject)

[personal profile] gominokouhai - 2011-12-30 03:13 (UTC) - Expand

(no subject)

[personal profile] elialshadowpine - 2011-12-30 14:26 (UTC) - Expand

(no subject)

[personal profile] intermezzo - 2011-12-30 03:13 (UTC) - Expand
crosspistols: (Bored)

[personal profile] crosspistols 2011-12-30 01:53 am (UTC)(link)
Mark, are you as adorable as Denise, because I can see you strutting in sunglasses.

[personal profile] imperioartist 2011-12-30 02:01 am (UTC)(link)
I have only a very basic understanding of the server-side stuff regards How Webpages Work (that is to say, I understood a bit more of this than the spaces and the full stops, but only just), but irrespective of that, I just wanted to drop a comment and thank you guys for the amount of work you do regards informing the userbase of what's going on.

I know that people appreciate the communication, even if we don't always 100% understand what what's being said. It's not just those with high levels of technical knowledge who appreciate this sort of response time and transparency; everyone benefits from it.

Happy to be here, basically. :)


EDIT: Just a small thought, but you might want to consider making use of status.dreamwidth.org for informing people of site issues, since I know a lot of people have come over from LJ in the last couple of weeks and are very familiar with going to the LJ-equivalent of that page for status updates. ;D Your Twitter account is wonderful, though, which needs to be said, as well.
Edited 2011-12-30 02:04 (UTC)
alierak: (Default)

[personal profile] alierak 2011-12-30 02:12 am (UTC)(link)
I'm still not sure if that was really trouble with perlbal, or just trouble with memory usage on the webservers that happened to cause trouble with perlbal. Maybe it's even the other way around.

(no subject)

[personal profile] alierak - 2011-12-30 16:50 (UTC) - Expand

(no subject)

[personal profile] green_knight - 2011-12-30 22:33 (UTC) - Expand

(no subject)

[staff profile] denise - 2011-12-30 22:46 (UTC) - Expand

(no subject)

[personal profile] green_knight - 2011-12-30 22:50 (UTC) - Expand
helens78: Cartoon. An orange cat sits on the chest of a woman with short hair and glasses. (Default)

[personal profile] helens78 2011-12-30 02:26 am (UTC)(link)
This is so cool, reading all these updates. I feel like I'm getting to know how things work on the Internet for the first time; I've been on plenty of sites over the years but never had a resource like you guys! How awesome is that? It is very, very awesome! :)
dont_panic42: (Default)

[personal profile] dont_panic42 2011-12-30 02:27 am (UTC)(link)
Thank you for this interesting and informative update! I love that you can explain this stuff without getting either overly-technical or overly-simplistic. :) Also, thanks as always for all your hard work on the site.

februaryfour: baby yoda with mug (Default)

[personal profile] februaryfour 2011-12-30 02:29 am (UTC)(link)
I LOVE reading posts like this. *thumbs up* ♥
jjhunter: irridescent raven against a background of autumnal maple leaves (world tree raven)

[personal profile] jjhunter 2011-12-30 02:33 am (UTC)(link)
Alas, still getting the occasional 'An internal server error occurred. Please try again later.'

I very much appreciate the explanation however, and wish you luck in tracking down whatever bug's still, well, bugging the system at the moment.
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2011-12-30 03:14 am (UTC)(link)
Are you sure you're not seeing a cached version of the page?

(no subject)

[personal profile] jjhunter - 2011-12-30 03:24 (UTC) - Expand

(no subject)

[personal profile] nightdog_barks - 2011-12-30 17:07 (UTC) - Expand

(no subject)

[personal profile] eyesofstrength - 2011-12-30 21:26 (UTC) - Expand

(no subject)

[staff profile] denise - 2011-12-30 21:28 (UTC) - Expand

(no subject)

[personal profile] judas_river - 2011-12-30 08:17 (UTC) - Expand

(no subject)

[personal profile] ninetydegrees - 2011-12-30 15:20 (UTC) - Expand
wytchcroft: heavent sent (Default)

[personal profile] wytchcroft 2011-12-30 02:36 am (UTC)(link)
dear sweet gods of traffic, i just noticed how many comments the team is starting to get - did denise make it out of xmas day alive even, or is she still buried under there somewhere?!

point being, good luck, all your efforts are appreciated as ever.
i look forward to the team's speedy adoption of a comment-fielding avatar,icon, giff whatever, a regal wave and/or minions.

all the best.
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2011-12-30 03:14 am (UTC)(link)
*waves little white flag from the bottom of the heap*

(no subject)

[personal profile] wytchcroft - 2011-12-30 03:54 (UTC) - Expand

(no subject)

[staff profile] denise - 2011-12-30 03:58 (UTC) - Expand

(no subject)

[personal profile] elialshadowpine - 2011-12-30 14:31 (UTC) - Expand

(no subject)

[personal profile] wytchcroft - 2011-12-30 14:36 (UTC) - Expand
celestinenox: The Dreamwidth Dreamsheep (Dreamwidth - Dreamsheep)

[personal profile] celestinenox 2011-12-30 02:37 am (UTC)(link)
OMGs YAAAAAY! :D :D This is awesome!
talibusorabat: A stack of books & the caption "ARM YOURSELVES!" (Doctor Who: Arm Yourselves!)

[personal profile] talibusorabat 2011-12-30 02:42 am (UTC)(link)
Thanks for the update! :D I will have fun wiki-ing all this. xD
isagel: Lex and Clark of Smalllville, a black and white manip of them naked and embracing, with the text 'Isagel'. (Default)

[personal profile] isagel 2011-12-30 02:58 am (UTC)(link)
Thank you as always for being so quick and clear with explaining issues (and solving them!), Mark! :D

(And I was just typing a question about why I wasn't getting comment notifications tonight, when, lo, the comments started dropping into my inbox. It's nice when you don't even have time to complain. *g*)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2011-12-30 03:16 am (UTC)(link)
Hee, yeah, when we make news posts everything slows down for a bit until the workers can catch up. We need to rewrite that process to be more efficient!
liriel1810: (Blimey)

[personal profile] liriel1810 2011-12-30 03:27 am (UTC)(link)
Wow, you guys solve problems before I've even worked out that it's not just me! *g* Thank you too for the explanation a layperson can understand without dumbing it down so much as to be insulting.
100percentmail: This is a couple's icon, paired with <user name="2ndBest"> (Default)

[personal profile] 100percentmail 2011-12-30 04:37 am (UTC)(link)
Thanks for this!
Taking in all us livejournal'ers isn't easy and I'm sure I'm not the only one of us appreciating that we've got a new home. ♥
sophoslight: (sun + hands = love)

[personal profile] sophoslight 2011-12-30 05:41 am (UTC)(link)
My gosh, thank you SO SO MUCH! And I know you've been busy with more work as the site keeps growing. You and the rest of the DW team are so awesome. Thanks again!
rike_tikki_tavi: (Hardison is sex)

[personal profile] rike_tikki_tavi 2011-12-30 06:21 am (UTC)(link)
I love that you guys take the time to explain these rather arcane technical issues to us. For just 15 minutes of lagging we get not only an explanation but instead of "There was a problem, we fixed it." we get "There was a problem. Here's why and we did this, this and that to fix it." You guys rock my socks off.
axiom_of_stripe: Birds of Prey: Oracle contemplates Black Canary and Huntress (Girls Girls Girls)

[personal profile] axiom_of_stripe 2011-12-30 07:03 am (UTC)(link)
In short, it's a load balancer for our load balancers!

*takes a geeky moment*
lea_hazel: The Little Mermaid (Default)

[personal profile] lea_hazel 2011-12-30 07:50 am (UTC)(link)
This is cool. I never properly got a handle on this stuff even when I was working in software.
claidheamhmor: (Default)

[personal profile] claidheamhmor 2011-12-30 09:47 am (UTC)(link)
Thanks for the technical explanation; I much prefer those sort. :)
yakalskovich: (Me in RL)

[personal profile] yakalskovich 2011-12-30 10:57 am (UTC)(link)
I really like how you are keeping people informed about the details, and explain the technical background of even these little problems.
andrewducker: (Default)

[personal profile] andrewducker 2011-12-30 12:10 pm (UTC)(link)
I'm curious - if you've now got a balancer in front of your balancers, why do you need two sets? Does Pound do a different kind of balancing to the kind that Perlbal does?
alierak: (Default)

[personal profile] alierak 2011-12-30 05:07 pm (UTC)(link)
As I understand it, Perlbal goes easier on the backend servers than most other loadbalancers, passing each client request to a server exactly when the server becomes available rather than piling up requests on busy servers. We've got Perlbal configured just the way we want it, and while Pound might also work, it would introduce a new set of configuration issues, server performance issues and so on.

(no subject)

[personal profile] andrewducker - 2011-12-31 12:27 (UTC) - Expand
bluiis: (DW 11 and 1 by roxicons)

[personal profile] bluiis 2011-12-30 01:00 pm (UTC)(link)
You guys are totally awesome. You always keep us in the loop, and solve the problems that come up really quickly.
rosiedoes: (Sherlock: Mycroft Brain)

[personal profile] rosiedoes 2011-12-30 01:00 pm (UTC)(link)
This is all utter gibberish to me, but I wanted to let you know that the attention to detail and the effort to make sure people understand what happened, is appreciated.
rosiedoes: (Default)

[personal profile] rosiedoes 2011-12-30 01:06 pm (UTC)(link)
...I have no idea why that icon came up. Hahaha.
princessofgeeks: Shane smiling, caption Canada's Shane Hollander (Default)

[personal profile] princessofgeeks 2011-12-30 02:21 pm (UTC)(link)
woah. i actually kind of understood that. Thank you! And best wishes! you are a rock star!

Page 1 of 2