# orderedItems[].object.content
@AdamStuartSmith I had that problem with vanilla Mastodon for a bit when I first installed it. Any posts that got any sort of activity from anyone with a significant following would overwhelm my server for several minutes.

I solved that by setting up a #Varnish cache in front of my server. I don't use Mastodon anymore, but I still use the cache in front of my bespoke software (#Enigmatick). It works really well to take the load off of the core server for those fan-out posts. Varnish handles the load with aplomb.

# orderedItems[].object.source.content
@AdamStuartSmith@sauropods.win I had that problem with vanilla Mastodon for a bit when I first installed it. Any posts that got any sort of activity from anyone with a significant following would overwhelm my server for several minutes.

I solved that by setting up a #Varnish cache in front of my server. I don't use Mastodon anymore, but I still use the cache in front of my bespoke software (#Enigmatick). It works really well to take the load off of the core server for those fan-out posts. Varnish handles the load with aplomb.

# orderedItems[].object.content
Updated GitHub Action for VCL #linter is out! No big change, the v1 is fixed and working again! You can use it to lint your ACL and VCL files, e.g. for #Varnish or #Fastly https://github.com/ain/falco-github-ac tion #Programming #EdgeComputing #OpenSource

# orderedItems[].object.ephemeral.metadata[].twitterTitle
GitHub - ain/falco-github-action: Falco GitHub Action for Fastly VCL parsing and validation

# orderedItems[].object.ephemeral.metadata[].description
Falco GitHub Action for Fastly VCL parsing and validation - ain/falco-github-action

# orderedItems[].object.ephemeral.metadata[].ogDescription
Falco GitHub Action for Fastly VCL parsing and validation - ain/falco-github-action

# orderedItems[].object.ephemeral.metadata[].ogTitle
GitHub - ain/falco-github-action: Falco GitHub Action for Fastly VCL parsing and validation

# orderedItems[].object.ephemeral.metadata[].twitterDescription
Falco GitHub Action for Fastly VCL parsing and validation - ain/falco-github-action

# orderedItems[].object.content
@bert_hubert @joyofcoding

Deja-vu there....

When #Varnish-Cache were young, many years ago, we got a lot of reports of people reducing servers a factor of 3 to 10 because it was so much more efficient code.

# orderedItems[].object.content
Spend a couple of days figuring out why Varnish kept increasing its RSS memory usage, eventually leading to OOMKills. It turns out Varnish on ARM is compiled against glibc, which is known for not returning memory very effectively.

This morning, I created a build for ARM with jemalloc and memory usage has been cut in half. Very solid stability and performance so far.

#Varnish #DevOps

# orderedItems[].object.content
🏕️ my adventures in #selfhosting - day 165 (VFX edition) 🎞️​

Good morning Fedi friends!

I've been quiet on here (it's a temporary pause, I promise) as I have been spending every second of free time - that doesn't include childcare - editing the fediverse promo video.

The video will premiere next week at a really exciting event, right after a presentation by an absolute legend. I'm experiencing low key anxiety / palpitations, rushing to get the film ready for that.

On the to do list: sound mix, fixing some VFX animations, adding a couple of slides to the end credits, color grading, doing subtitles, exporting the video and uploading it to my PeerTube. Gaaaaah!

On the self-hosting side, I have to admit it's incredibly empowering to know I can put it on my PeerTube. Super grateful to #YunoHost for that.

If you're curious, I've published some updates re: what I've been up to this month... including a video replay of my presentation for YunoHost at #JDLL: https://news.elenarossini.com/what-im-up-to-may-2025-edition/

As a geeky side note, I had to edit a link in the article... and it would not update on my site. Awww the wonders of #Varnish cache. It's really THAT powerful. So even though I don't have time to do proper self-hosting tasks these days, I still went into my VPS and used command lines to clear Varnish cache. It counts for something, right?

Wishing everyone a wonderful weekend!

#MySoCalledSudoLife

# orderedItems[].object.ephemeral.metadata[].description
What I've been up to this month? Work on a promotional film for the fediverse... and preparations to speak at a FOSS conference in Lyon

# orderedItems[].object.ephemeral.metadata[].ogDescription
What I've been up to this month? Work on a promotional film for the fediverse... and preparations to speak at a FOSS conference in Lyon

# orderedItems[].object.ephemeral.metadata[].twitterDescription
What I've been up to this month? Work on a promotional film for the fediverse... and preparations to speak at a FOSS conference in Lyon

# orderedItems[].object.ephemeral.attributedTo[].icon.name
the photo of a woman with dark brown hair wearing a t-shirt that says Mastodon & Pixelfed & Peertube & Lemmy & Bookwyrm. The background is light blue with a pattern saying  "self-hosted via GoToSocial"

# orderedItems[].object.content
For no particular reason (masochism?), we've revamped varnishmon's UI from espagueti vanilla #JavaScript to #React. It's a toy UI, but it should handle 1k-2k live time-series per page smoothly.

Do I know anyone with real JavaScript chops to take a look and tell me how bad it is, especially the React part? It's just a couple of files: https://github.com/allenta/varnishmon/blob/main/assets/web/src/js/components.jsx

PRs welcome, of course 😅 #sendhelp #devtears #jsconfessions #varnish

# orderedItems[].object.ephemeral.metadata[].description
A tool to effortlessly record, visualize, and share historical varnishstat output with minimal setup - varnishmon/assets/web/src/js/components.jsx at main · allenta/varnishmon

# orderedItems[].object.ephemeral.metadata[].ogDescription
A tool to effortlessly record, visualize, and share historical varnishstat output with minimal setup - allenta/varnishmon

# orderedItems[].object.ephemeral.metadata[].twitterDescription
A tool to effortlessly record, visualize, and share historical varnishstat output with minimal setup - allenta/varnishmon

# orderedItems[].object.content
Look what I've found while reading #haproxy docs : #YouPorn is implemented as a LAMP stack and serves 300.000 requests per second !
That's massive.

https://www. haproxy.org/they-use-it.html
https://highscalability.com/youporn-ta rgeting-200-million-views-a-day-and-beyond/

#performance #scalability #development #Redis #nginx #php #ActiveMQ #varnish #MySQL #symfony2 #syslogng

# orderedItems[].object.ephemeral.metadata[].description
Reliable, High Performance TCP/HTTP Load Balancer

# orderedItems[].object.ephemeral.metadata[].twitterTitle
YouPorn - Targeting 200 Million Views a Day and Beyond - High Scalability -

# orderedItems[].object.ephemeral.metadata[].ogDescription
Update : Here's the video of the talk .

 Erick Pickup , lead developer at YouPorn.com, present...

# orderedItems[].object.ephemeral.metadata[].ogTitle
YouPorn - Targeting 200 Million Views a Day and Beyond - High Scalability -

# orderedItems[].object.ephemeral.metadata[].twitterDescription
Update: Here's the video of the talk.

Erick Pickup, lead developer at YouPorn.com, presented their architecture in a talk titled Building a Website To Scale given at the ConFoo conference.  As you might expect, YouPorn is a beast, streaming three full DVDs of video every second, handing 300K queries

# orderedItems[].object.content
A new post on debugging your Varnish VMOD with gdb.

Be sure to set the right shared library search path!

https://duffn.dev/debugging-varnish-vm od-with-gdb/

#programming #varnish #Debugging #gdb

# orderedItems[].object.ephemeral.metadata[].twitterTitle
Debugging a Varnish VMOD with gdb - duffn.dev

# orderedItems[].object.ephemeral.metadata[].ogTitle
Debugging a Varnish VMOD with gdb - duffn.dev

# orderedItems[].object.content
If you're running an #ActivityPub server, you might think carefully about how you use something like Cloudflare. I just spent 30 minutes troubleshooting why my AP server was getting a 403 when trying to pull up someone's webfinger, but I could issue the same exact command via curl (same UA, headers, HTTP version, IP address, etc.) and it worked fine.

I've finally decided that it's just Cloudflare being a jerk. AP is inherently pretty noisy, but I was making things worse by looking up the webfinger too often. So the server would get hit with 6 requests in quick succession and it seems to be triggering something with Cloudflare. I reduced that to 3 by looking up the webfinger locally, and I can get further. But I still can't pull up this particular full profile (e.g., requesting followers, following, outbox, in quick succession triggers the 403).

This seems to be an uncommon configuration (I have 64,131 Actors currently in my database), but it's annoying. Plus, #CloudflareSucks. They've always sucked.

Use #Fastly if you need a #CDN. Or do it yourself with #Varnish if you just need caching.

# orderedItems[].object.content
Fastly uses the H2O reverse proxy for fast and secure TLS termination over QUIC, HTTP/3, HTTP/2, and 1.1.

The project site compares its benchmarks only to Nginx. I'd love to see a more recent comparison that includes ATS (Apache Traffic Server), HAProxy, and Varnish/Hitch as fellow reverse proxies for TLS termination.

https://www. fastly.com/blog/tls-more-secur e-always-fast

via @devs and https://ieji.de/@SolSoCoG/109392993726 218659

#webperf #nginx #varnish #apachetrafficserver #H2O #fastly #HAProxy