Linux vs FreeBSD for Phoenix?

Netflix uses freebsd only for streaming, and linux for everything else, I think. And I’ve read somewhere that they are considering to move away from freebsd completely to have a more homogeneous environment.

Concurrent Streaming holding a 37% internet market share Speaks for Itself!

I might add Flawlessly

Don’t let the Facts or Performance ruin your day

7 posts were split to a new topic: FreeBsd “pkg install” installs the old versions of Elixir - 1.4.5 and OTP - 19

It should exist even before you install erlang-runtime20. Try updating the ports collection tree with portsnap fetch update (or download and initialize it with portsnap fetch extract). You might also want to read this chapter on ports and packages from the handbook.

1 Like

Just tried TrueOS and I will stay on Linux at least for now.
Funny thing is that installation setup allows to use NVidida drivers (optionally) when I had AMD GPU. :smiley:
Less funny thing is that I need better PC that needs also to be more compatible with Linux and BSD. I had NVidia Optimus and now old AMD and in both cases it’s a hell. First one requires to use all games like: optirun game_executable and second one is probably not supported.
Also I have Broadcom Wi-Fi card that does not work on BSD after installation. From what I saw there are some hacks for it, but from what I read they depends on kernel, so I give up with testing it until I will have another hardware to try it again.

WiFi is a hazzle on nearly every distribution that is not consumer oriented. Also those “workarounds” aren’t any. That’s just how WiFi seems to work :frowning: Even on windows those firmware files are necessary.

The Windows and the more consumer centric linux distributions have mechanisms that allow easier installation of the necessary kernel modules and firmware files. And in case of windows they are also often supported natively by the manufacturers and proper drivers are supplied.

Especially for Broadcom though, licensing is a major problem. My laptop does have one, and they do permit distribution of the firmware files. Therefore in the linux communities there have tools evolved which extract the firmware files from a windows version of the driver, which again has to be downloaded from BroadComs websites due to licensing restrictions.

As far as I can remember, I had to do the same dance for Funtoo, Ubuntu and Fedora on this laptop when I installed the WiFi on them. Only thing I had to do more with Funtoo was to activate 2 or three kernel modules and recompile. But recompiling Kernel is daily business when you start from a minimal kernel as I did.

@NobbZ: In Funtoo (custom kernel setup and compile) I was only need to add modules to autoload and. They are already lots of drivers. I had lots of distributions that works out-of-box and lots that not.

After watching this video from a network engineer at WhatsApp saying how FreeBDS is far superior for networking and sockets usage I am really considering in using FreeBSD for production.

About FreeBSD vs Linux you have this article:

What isn’t this?

This is not:

  • A list of command correspondances; “‘netstat -rnfinet’ on BSD = ‘netstat -rnAinet’ on Linux” and such things.
  • How to do all the things involved in adminning and running a BSD box.
  • Why you should use BSD instead of Linux.
  • Why you should use Linux instead of BSD.
  • Why you should use this BSD instead of that BSD.
  • Why you should use this Linux instead of that Linux.
  • Why BSD is Right and Linux is Wrong.
  • Why Linux is Right and BSD is Wrong.
  • Why I am a god and you should worship me.

I, personally, for me, believe (obviously) that my OS choice is right. That’s me. I’m not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That’s why you have one.

Anyone here still using FreeBSD with Elixir and Phoenix?

Any experiences they want to share, good ones and bad ones?

Most erlang devs I’ve met have claimed that freebsd is better for erlang than elixir. Even though freebsd is near to my heart (I used it exclusively in grad school, even rebuilt ports from scratch the day before my thesis defense), I would currently consider it a hyperoptimization since it cross-compilation an figuring out CI is likely to be tricky.

2 Likes

Yes, for the majority of the web apps out there it would be an hyperoptimization, but for any server that expects very high loads it sound like a must to have optimization, and each time i read articles like this one I get even more convinced:

Reasons to host a production Phoenix project on FreeBSD instead of Linux
YMMV of course

  • Stability, stability, stability.

  • Updating your FreeBSD base system to new releases in future follows a reliable and predictable path, that you can plan for and trust, years in advance.

  • Mail server out of the box. Nothing to configure, and Bamboo hooks straight into it without fuss.

  • No systemd - you know that your system setup written in 2021 will still boot in 2051 without modifications, and will behave the same then as now.

  • Jails

  • Extreme low memory footprint, extreme low disk usage

  • ZFS out of the box

  • DTrace

  • Networking stack is possibly better (was true in the past, probably not so much with each passing year)

  • Amazon / Microsoft / IBM / Facebook / Apple / Google / NSA / CIA / FSB / MI6 / … are not in a position to hijack the BSDs at a whim. BSDs come with a free tin foil hat, protecting you from bad guys and 5G remote control.

8 Likes

Possibly the best answer in the thread I have read so far :rofl:

But I’m actually looking at changing my desktop env back to BSD. Used FreeBSD back in 2004/2005 and I suspect that not much has changed since then and that is a big bonus. Perhaps maybe you dont need to compile a new version of the kernel to make the soundcard work? :smiley:

Docker is great, but for what I’m doing locally, jails would work just as fine.
ZFS - used it with FreeNAS and holy smokes, just waited for the right moment to switch to something like GhostBSD and have that power on the desktop as well.

So thanks to you all that shared your experience about the topic.

1 Like

I have since a month or so made the switch to FreeBSD.
Both on the laptop and the stationary computer. It all works just super!

For most parts where I used docker I now instead use jails - That and with a tool called jailer everything works super duper…

The only thing that enoys me a bit in my daily workflow, is that I dont have native compat with fly.io’s tool flyctl. That bothers much and I cant understand why it doesnt work - they have compat for os x and windows, so it should work as is with freebsd as well.

2 Likes

Since it’s written in go I bet you could get it to compile pretty easily. @patmaddox had luck adding Tailscale ssh for FreeBSD and maybe that PR could be inspiration for changes to flyctl.

2 Likes

Thank you for the tip, will take a look.