this post was submitted on 30 Jun 2023
34 points (100.0% liked)

Meta (lemm.ee)

3592 readers
1 users here now

lemm.ee Meta

This is a community for discussion about this particular Lemmy instance.

News and updates about lemm.ee will be posted here, so if that's something that interests you, make sure to subscribe!


Rules:


If you're a Discord user, you can also join our Discord server: https://discord.gg/XM9nZwUn9K

Discord is only a back-up channel, [email protected] will always be the main place for lemm.ee communications.


If you need help with anything, please post in !support instead.

founded 1 year ago
MODERATORS
 

Hey lemmings!

I wanted to share a quick update about our recent performance issues and how I have addressed them.

The last 24h have been a bit rough for lemm.ee.

Last night, I spent some time debugging federation issues with lemmy.world. We managed to significantly improve the situation - lemmy.world content is now reaching lemm.ee with a very high success rate - but this has had the effect of increasing incoming federation traffic on our servers significantly.

Additionally, we have been seeing steadily increasing normal user traffic over the past week, which is awesome from a community standpoint, but of course means that our servers have to do more work to keep up with all the new people.

To top things off, today there appeared a badly configured instance in the network, which was effectively launching a DoS attack against lemm.ee for several hours. Most likely it was unintentional, but unfortunately the end result was a sudden increase in our server load.

All these factors combined resulted in a really bad experience for most lemm.ee users today. Page load times have consistently been spiking into as much as 10 seconds or more for the whole day:

In fact, a lot of page loads just timed out with errors.

Fortunately, it seems I have managed to clear up the problems!

I have put a bunch of mitigations in place, and after monitoring the situation for the past hour, it seems that our performance issues have been resolved for now. So hopefully, you can enjoy browsing lemm.ee again without it feeling like torture!

Here are specific steps I took:

  • I have doubled the hardware resources for our backend servers and database.
  • I purchased a Cloudflare pro subscription for lemm.ee for 1 year. This took out a considerable chunk of my budget for lemm.ee, but in return it will allow me to analyze and optimize our cache usage to a far greater extent. I am already seeing vastly reduced load times for cacheable content (try opening https://lemm.ee a few times in a row as a logged out user - it should be blazing fast now!)
  • I have configured a rate limiter which will prevent future DoS from the specific method that was used against us today.

Of course, all of the above is costly. Luckily, lemm.ee users have been very generous with donations in the month of June, and in fact a significant amount of donors have opted for monthly recurring contributions. This all gives me the confidence to increase our spending for now, and I am currently expecting to NOT increase my personal planned contribution of 150€/month, as the increased costs so far are entirely being covered by donations!

Let me take this opportunity to thank the sponsors who made the upgrades possible! All lemm.ee users are now enjoying better performance thanks to you, I could not have done it without you awesome people.

On a final note, I just want to say that I hope a lot of these issues can be solved by optimizations in Lemmy software itself in the future. I have been personally contributing several optimizations to the Lemmy codebase, and I know many others are focused on optimizations as well. Just throwing extra resources at the problem will probably not be a sustainable solution for very long πŸ˜…. But I am optimistic that we are moving in the right direction with the software changes, and we'll be enjoying reduced resource needs before long.

That's all I wanted to share today, I wish you all a great weekend!

(page 2) 45 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 year ago

Thank you. I did notice when it got significantly faster.

[–] [email protected] 1 points 1 year ago

I really appreciate how communicative you are about all the instance information. It’s what made me sign up just now!

[–] [email protected] 1 points 1 year ago (1 children)

Can you tell me what you've cached? I'm not using cloudflare but I am using haproxy which has frontend caching builtin. It was next on my plan but if you share your caching setup I can try to replicate it on lemmy.dbzer0.com

[–] [email protected] 1 points 1 year ago (1 children)

Mostly all images are served through a cache. I would like to also cache some static HTML (such as pages for unauthenticated users), but it breaks due to some users requesting these pages with an Accept header for an activitystream content-type, and I haven't had time to figure out a solution for accounting for the content type in my cache key unfortunately πŸ˜…. But if you can do that easily in your cache then for sure you could also cache any static pages for a minute or so.

[–] [email protected] 1 points 1 year ago

Ye I can cache differently depending on headers. Surprised that caching images helps a lot since your pictrs is hosted in an independent box anyway

[–] [email protected] 1 points 1 year ago

It's feeling quite good at the moment so thank you for all your hard work.

[–] [email protected] 1 points 1 year ago

Thank you very much!!

[–] [email protected] 1 points 1 year ago

Thank you very much. I've been made to feel very welcome and have joined on of the many support groups, that his helping me remove typing r/ from my muscle memory. Have a great weekend.

[–] [email protected] 1 points 1 year ago (1 children)

Thank you for operating this instance!

I hope you are tracking some dollar amount for your time as well. Even if you’re not actually taking any pay it would be good to have a sense of labor as a component of a thing’s upkeep cost.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Thanks for the kind words! To be honest, I'm not tracking my time, as I'm not expecting to break even at all anyway, even before starting to account for the time I've spent πŸ˜„

[–] [email protected] 1 points 1 year ago

You're doing a great job! Keep up the good work!

[–] [email protected] 1 points 1 year ago

Once again, thank you for making this small pleasant corner of the Internet possible!

[–] [email protected] 1 points 1 year ago

This server is BLAAAAZING fast i love you

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

FYI: I've been unable to reply to direct messages

"Save" just spins forever, doesn't show in sent messages.

[–] [email protected] 1 points 1 year ago

Thanks!

I'm definitely seeing an increase in speed. I think at some point there will be a market for servers that users must pay to use. For the time being, I'm more than happy to contribute to a server that is open to all, but good speed needs to be there.

[–] [email protected] 1 points 1 year ago (1 children)

How much of the slowdown was caused by the bad instance VS the limitations of the previous hardware?

[–] [email protected] 1 points 1 year ago

The DoS was responsible for about 10-20% increased load on our system - it wasn't the root cause of the slowdowns, it was more like a nice cherry on top of the cake πŸ˜… The bigger issue is the constantly increasing federation load.

[–] [email protected] 1 points 1 year ago

You are a freaking hero!

[–] [email protected] 1 points 1 year ago

Love the instance and all your transparency! Keep up the good work. Heading over to the donation link now! I'm so stoked to be off of reddit for good.

[–] [email protected] 1 points 1 year ago

Beehaw upgraded too. Lemmy.ml seems to be delivering none of the messages for past few hours, it is erroring constantly for a local user.

[–] [email protected] 1 points 1 year ago (1 children)

Thank you for using your time and resources to create this space! Reading updates on server performance in main, gives me a tingly homey feeling I haven't felt in a loooong time

[–] [email protected] 1 points 1 year ago

here's to everlasting lemmy.ee tingles 🍻

[–] [email protected] 1 points 1 year ago

I echo all of the sentiments of gratitude. I’m glad I stumbled upon lemm.ee and landed here! Donations incoming! You guys are awesome and making the world better.

[–] [email protected] 1 points 1 year ago

Thank you @sunaurus for all the good work you've done for the instance. I've decided to be more vocal to mods for support after leaving the big ol' R. Everything's been working swimmingly well so far. Great work!

[–] [email protected] 1 points 1 year ago (1 children)

To this day I have still lots of "subscribe pending" in my communities options page, especially from lemmy.ml and lemmy.world

Should I try to cancel them and redo or just wait?

https://imgur.com/a/rJEH1Di

(I cannot upload images anymore, I get a JSON error now)

load more comments (1 replies)
[–] [email protected] 1 points 1 year ago (1 children)

I'm brand new, this is my first comment. Thanks for your work! Where can we donate to this instance?

[–] [email protected] 1 points 1 year ago (1 children)

I just signed up for a monthly donation to keep things running using their GitHub sponsorship page: http://github.com/sponsors/sunaurus

Love this community!

load more comments (1 replies)
[–] [email protected] 1 points 1 year ago

Amazing job guys!

[–] [email protected] 1 points 1 year ago (1 children)

What was the actual issue with lemmy.world? And how was that particular item solved?

[–] [email protected] 1 points 1 year ago

Hey, you can check this post for more context: https://lemm.ee/post/493966

[–] [email protected] 1 points 1 year ago

I joined this instance after reading this post. My inclination is to operate my own instance; but it seems best to wait until some of the dust settles and some of the bugs get discovered and fixed, first. The admins here seem capable of doing just that, while providing a stable platform.

[–] [email protected] 1 points 1 year ago (1 children)

I don’t mean to grossly oversimplify… But does this mean it’s time to upgrade to 0.18.1?

[–] [email protected] 1 points 1 year ago

Generally I would recommend against running RC builds. I was willing to take the risk in this case for lemm.ee, because:

  • I feel comfortable with debugging and fixing issues in code as they crop up
  • I have been working myself on stabilizing 0.18.1 and am pretty well aware of its current state
  • The set of problems in 0.18.1-rc4 is a bit better than the different set of problems we had with 0.17.4 πŸ˜…

At the end of the day, you have to acknowledge the risks and see if they're worth it for you.

[–] [email protected] 1 points 1 year ago (1 children)

I would like to see a create a sub for dummies video or post. I followed the link to create a sub, and I’m a dummy. I don’t get it. Once subs can be created easily, this community will grow much faster now that Apollo is gone. RIP

EAT my chode spez

[–] [email protected] 1 points 1 year ago

I've not created any communities myself, but looking at the form it seems pretty straightforward. Is there a particular field that could be better explained, or are you getting some sort of error?

[–] [email protected] 1 points 1 year ago

thank you king

[–] [email protected] 0 points 1 year ago (1 children)

roll ads, dont hesitate. u have my blessing.

[–] [email protected] 1 points 1 year ago

I'd rather increase my monthly donation to support lemm.ee on GitHub than see ads here

[–] [email protected] 0 points 1 year ago (1 children)

Can you unpin one or both of these messages now? Its kind of annoying to see this every day in every tab (local/all, etc) with no option to hide.

[–] [email protected] 1 points 1 year ago

Sure, I unpinned the last update. I would like to keep the welcome post visible for newbies though - it seems the sidebar is super easy to miss, especially for app users, so a pinned post is almost the only definite way to ensure people get some onboarding. Sorry about that!

load more comments
view more: β€Ή prev next β€Ί