?

Log in

No account? Create an account
Paid user "express lane" - Paid user "express lane" - Paid Members Page 6 — LiveJournal [entries|archive|friends|userinfo]
Paid Members

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Paid user "express lane" [Jul. 8th, 2004|03:22 pm]
Paid Members

paidmembers

[bradfitz]
New paid user feature!

If you're logged in as a paid user, you "cut in line" of other web requests that we've received but not yet generated a response for.

So our load balancer retrieves all incoming web requests immediately after your browser sends them, then sorts those requests into two lines: free users and paid users.

Whenever a real server (not the load balancer) is ready to do more work, it always fulfills a request from the paid user line, and only does free user requests once no paid users are waiting.

We've had this done for a couple weeks, but just put it live today. We were going to wait to announce it until we had the cool part done, but thought it best you all know what's up. The cool part is: we're going to make the load balancer tell the real servers how many seconds/milliseconds you saved by cutting in line and how many people you cut in front of, and then the real servers will add that to the response, so you can do "View Source" in your browser and at the top it'll show you those stats, so you can verify it's working.

This is all different from what we did a few years ago, which was to have "free servers" and "paid servers". Instead all the servers do both free and paid, but access to the servers is prioritized by your account type.

Here are some stats of it in action:
queues
web_proxy-normal.age 0
web_proxy-normal.count 3
web_proxy-highpri.age 0
web_proxy-highpri.count 0
.
queues
web_proxy-normal.age 0
web_proxy-normal.count 0
web_proxy-highpri.age 0
web_proxy-highpri.count 0
.
queues
web_proxy-normal.age 0
web_proxy-normal.count 4
web_proxy-highpri.age 0
web_proxy-highpri.count 0
.
queues
web_proxy-normal.age 1
web_proxy-normal.count 4
web_proxy-highpri.age 0
web_proxy-highpri.count 0
.
queues
web_proxy-normal.age 0
web_proxy-normal.count 3
web_proxy-highpri.age 0
web_proxy-highpri.count 0
.
queues
web_proxy-normal.age 0
web_proxy-normal.count 5
web_proxy-highpri.age 0
web_proxy-highpri.count 0
.


At the top it showed there were 3 free users (waiting for less than a second --- age 0) waiting to get responses, and 0 paid users. Then it was all clear, then 4 new free users were waiting, then waiting up to a second, then those cleared, and 3 new free users were waiting under a second. Then 5 later, still under a second.

But throughout, no paid users were ever waiting.

Obviously the above isn't an interesting demo of this feature, but next time we hit a hiccup and the site gets slow, the paid users will be affected the least, since you won't have to wait in line long for a page to be generated. (just have to wait for paid users that came before you)
LinkReply

Comments:
Page 6 of 9
<<[1] [2] [3] [4] [5] [6] [7] [8] [9] >>
[User Picture]From: mind_opened
2004-07-08 06:12 pm (UTC)
Maybe power of suggestion but I swear I can feel it already! :D Thanks!!


LiveJournal Rulz!!
(Reply) (Thread)
[User Picture]From: right
2004-07-08 06:15 pm (UTC)
And Livejournal seems to be going rather slow for me... how ironic. Hmm. Hopefully it'll clear up soon.
(Reply) (Thread)
[User Picture]From: aqxsd0927
2004-07-08 06:33 pm (UTC)

umm..

I haven't tested it extensively, but the site seems much slower to respond when I'm logged in vs when I'm not.

*shrug*
(Reply) (Thread)
[User Picture]From: yessur
2004-07-08 06:38 pm (UTC)
Whoopty freakin' do!
(Reply) (Thread)
[User Picture]From: blucupcakes
2004-07-08 06:57 pm (UTC)
awesome! thanks for that.
(Reply) (Thread)
[User Picture]From: jyu
2004-07-08 07:36 pm (UTC)
Waaaaiit... are you doing this so when Livejournal is slow you can't give us free stuff anymore?
(Reply) (Thread)
[User Picture]From: killhamster
2004-07-08 08:08 pm (UTC)
hey i get something else special for my :10bux:x2.5
(Reply) (Thread)
[User Picture]From: schnee
2004-07-08 08:14 pm (UTC)
So paid users possibly will completely starve free users? Doesn't sound so good to me (even though I am a paid user).
(Reply) (Thread)
From: ex_halfwitte432
2004-07-08 08:33 pm (UTC)
If enough that can afford it follow the incentive and pay for the service, I would assume they'd keep upgrading the server architecture so that this wouldn't happen.
(Reply) (Parent) (Thread)
From: ex_halfwitte432
2004-07-08 08:33 pm (UTC)
Thank you!!!
(Reply) (Thread)
[User Picture]From: 270mike
2004-07-08 09:04 pm (UTC)
own-u-matic.

nice work, guys.
(Reply) (Thread)
[User Picture]From: hotarunokokoro
2004-07-08 10:41 pm (UTC)
ummm can you put that in laymans terms? what the heck did you just say? i don't know computer speak.
(Reply) (Thread)
[User Picture]From: fallen_angel456
2004-07-08 11:19 pm (UTC)
haha exactly
(Reply) (Parent) (Thread) (Expand)
From: nlm32
2004-07-08 11:14 pm (UTC)
thank you lj staff! :)
its good to know us paid users are important :)
(Reply) (Thread)
[User Picture]From: vichesse
2004-07-09 12:24 am (UTC)
uber spiff. Thanks!


I <3 LJ!


Hrm... new t-shirt? ;-)


Loyal Livejournal User (for years to come),

Vichesse
(Reply) (Thread)
From: fishy5
2004-07-09 12:55 am (UTC)

Priority Queue

It seems obvious to me that a single priority queue would function better than two simple queues. Not only in efficiency; a priority queue implementation is easier to change than independent algorithms. And what would need to happen if someone wanted to add a medium priority? Also, if the number of paid requests per time / average number of requests that can be filled per time > 1 then free users haven't a chance.
(Reply) (Thread)
From: janeiro
2004-07-09 02:44 am (UTC)
That's so nifty! You rule :)
(Reply) (Thread)
Page 6 of 9
<<[1] [2] [3] [4] [5] [6] [7] [8] [9] >>