News for hackers. Stuff that matters.
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by bawolff on Monday May 29, 2023 @11:16AM (#36114785)
Logged out users get served by varnish cache on a server geo-located near you.

Logged in users still get cached pages, but the cache is only part of the page, its not as fast a cache, the servers are not geolocated (they are in usa only for main data center), and depending on user prefs you may be more likely to get a cache miss even on the partial cache.

Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by flangola7 on Monday May 29, 2023 @11:42AM (#36114996)
What's a cache miss?
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by PKop on Monday May 29, 2023 @11:58AM (#36115149)
The resource you are requesting is not in the cache, thus requiring a full load from whatever the source is.
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by jeltz on Monday May 29, 2023 @11:53AM (#36115098)
A well established term which is trivial to google. It is when you do a cache lookup and do not find anything.
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by Paul-Craft on Monday May 29, 2023 @05:26PM (#36118295)
Let's be nice to the lucky 10000 who get to learn what a cache miss is today.

https://xkcd.com/1053/

Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by Rapzid on Monday May 29, 2023 @03:17PM (#36117009)
The cache takes a swing at the request. If it hits it returns, if it misses it gets caught by the origin.
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by stavros on Monday May 29, 2023 @08:19PM (#36119717)
It's fast, temporary storage, and it's mister to you!
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by tuukkah on Monday May 29, 2023 @04:11PM (#36117573)
I wonder if you could fetch the logged-out page first and then re-render client-side what's missing for a logged-in user.

Also, Firefox container tabs might be a nice solution: normally browse in a container where I'm logged out, then to edit, change the tab to my Wikipedia container where I'm logged in.

Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by undefinedzero on Monday May 29, 2023 @05:16PM (#36118201)
This is what client side apps do (e.g. React). They come with their own set of challenges which when not solved correctly turn into downsides. Probably still easier for Wikipedia to do than fixing their backend.
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by adrr on Monday May 29, 2023 @05:18PM (#36118211)
Thats what we did a former company. You cache the main page on the edges of a CDN. When logged in, you'll get JSON blob that is also cached on the edges using oauth/jwt header as a dimension for the cache key. JSON blob has the users information like username, name etc and its just filled in. Makes the pages extremely performant since everything is cached on edges and protects your origin servers from load. You could also shove stuff into web storage but private mode for some browsers won't persist the data.
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by underwater on Tuesday May 30, 2023 @07:01AM (#36123406)
I've seen this backfire when someone breaks the configuration of the cache key. All of a sudden people start getting back usernames and personal information of random users.
Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by bawolff on Monday May 29, 2023 @08:43PM (#36119894)
Well it could be the entire page and then you would get a giant flash or repaints. It is not clear that is any better.

The main things that are different:

* the user links (shows what user you are logged in)

* whether you have a new message notification

* your skin preferences (this will totally change the entire html)

* your language preference (normally this only affects the UI not page content, but some pages it affects page content)

* other misc preferences can affect wikipage content (e.g thumbnail size), although there has been a general effort to avoid adding new ones and remove existing ones that arent used.

* some stuff makes assumptions about logged in users not being varnish (e.g. how csrf tokens work for js based actions), but most of those can be changed if push came to shove.

That said there might be a reasonable argument that much of this isnt needed and it would be a net benefit to kill most of those features.

Re:300ms Faster: Reducing Wikipedia's Total Blocking Time by tuukkah on Tuesday May 30, 2023 @01:11AM (#36121337)
Yeah, if you use a user setting such as a non-default skin, you should arguably instead install a browser extension or use a client app built on top of PCS (the Page Content Service API): https://en.wikipedia.org/api/rest_v1/#/Page%20content

https://www.mediawiki.org/wiki/Page_Content_Service