logo by user raptor

basement
community

search

wall of shame

technical feedback is the site slow for you? post here!!!

joined dec 4, 2022

avatar

joined dec 4, 2022

anyone who's having performance issues with the site, please feel free to post here! i'd like to know a couple things including:

  1. where in the world are you located

  2. how long are the load times you're seeing (open the browser's network tab up with the F12 key then to "network" tab, then reload the page and just check the load times for the page)

  3. ^^^^ what page did you load there?

  4. mobile? desktop? are you on a vpn?

  5. any other info you think is useful!!!

and thanks again to everyone joining the community. can't wait to recreate a little bit of what the internet was like 2 decades ago!

edited 3/1/2023, 8:38 am

joined feb 16, 2023

avatar

joined feb 16, 2023

Just to give a little data for you.

  1. Melbourne, Australia

  2. Load times - initial content is about 1.5 seconds (not bad!). The last data received is at around the 10 second mark - Looks to be FaviconLoader.jsm. ,

  3. Laptop but might as well be considered a low end mobile. Lenovo T400 - 2.4Ghz Core 2 Duo. With hardware that is now 14 years old it is always a question of is the site slow or is it just the time for the system to crunch the JS? Running Firefox (derivative) 109.0.1.

posted 2/18/2023, 7:06 pm

joined feb 16, 2023

avatar

just a lil guy

joined feb 16, 2023

  1. Austin, TX, USA

  2. Load completes at just over 2s.

  3. Frame.work laptop (which I highly recommend, by the by!), wifi, fiber internet.

Subjectively, I would say page load feels a little bit slower than it ought to for the visual complexity. I see a lot of (webpack, I'm guessing) js chunks loaded—might be worth trying out fewer larger chunks or more aggressive tree-shaking? But it's certainly not bad!

webpagetest.com backs up that subjective feeling: https://www.webpagetest.org/result/230218_BiDcJA_BGC/

If you already have frontend tests running with, e.g., cypress, you can probably capture timing metrics from those runs? I've used https://www.sitespeed.io/ once before and thought it was nice but admittedly didn't make it part of my normal process—but I might should revisit that!

posted 2/18/2023, 7:26 pm

joined dec 4, 2022

avatar

joined dec 4, 2022

okay so after some log monitoring and doing some reading, i've come up with a couple big problems and potential solutions to making the site speed better.

  1. a big issue bogging down the page load speeds for threads has to do with downloading images and user avatars.

    • the issue with user avatars is that they're hosted on an FTP server, and since getting/setting images in a file system is inherently slower for files that don't change all that much, we're going to make the move to Object Storage for all images uploaded to the site. once we get that going, we should get a boost in speed for free, as Object Storage should be the faster option for this use case.

  2. there are some endpoints like GET /forums and GET /posts/$thread_id which take anywhere from 300-600ms, which is pretty slow

    • to remedy this, we're going to take advantage of Redis, a service used for caching data in memory. this means that if we're able to read data from memory instead of asking the database each time, it should be returned a whole lot faster and cause the initial page document to be downloaded faster as well

    • these endpoints also execute quite a bit of SQL queries, so i'm going to make some changes to see if we can consolidate some of these multiple queries into one.

  3. our production server for the site is hosted in california. this means the further you are from california, the worse the performance is going to be

    • frankly, i don't know if can spare the extra money to get additional servers in other regions; however, i've been doing some research into edge computing and a few different services that allow for hosting sites across the globe. more to come on this one, but this is is a solution that isn't going to be solved relatively soon, so sorry for the folks who are outside of the united states

e: happy to deploy the next version of the site. there's gonna be some solid performance improvements coming

edited 2/22/2023, 9:41 pm

joined dec 4, 2022

avatar

joined dec 4, 2022

just going to post stream of consciousness here:

i wrote an implementation of reading/writing to Object Storage instead of read/writing avatars and icons from the server disk, and it ended up being slow. like a lot slower than the download times are now for user avatars and icons. so Object Storage is out, we're going to continue storing uploaded content on the server and reading from there.

secondly, after making some solid improvements to the SQL queries being executed to paint the homepage and the thread landing page, i'm still not happy with the download times of the whole page. my next course of action is tackle some more SQL queries (like the one that gets your list of mentions), and also experiment with either getting rid of or lazy-loading the JavaScript that runs on the page. For example, the JS that is responsible for highlighting code like this:

const hello = 'world';

requires A LOT of fucking javascript because it's trying to add correct syntax highlighting for each programming language. This just isn't necessary for most posts, so a lot of unnecessary JS is being executed for no reason.

i hope to do another release with some performance updates in the next couple weeks. stay tuned

edited 2/27/2023, 8:42 pm

technical feedback is the site slow for you? post here!!!