sodapopcan

sodapopcan

How are your LiveView production servers doing?

One concern that comes up a lot is how LiveView stores and runs a lot of data server-side.

I’ve always seen this a good thing.

First off, I really appreciate sites/apps that are nice to my phone’s battery as well as my laptop’s memory. Even users who don’t actively care about this passively care without realizing it. Next, if you have intellectual property to protect then it’s obviously better to have as much of it server-side as possible. I once saw some Hack News folk carrying on about how they hate people who reverse engineer obfuscated JS. “Well stop putting sensitive stuff in client-side JS, you ding dongs” was my thought, but I digress*

As far as costs go, If I’m running a dedicated server anyway then I’ve already paid for my memory so go ahead and max it out. If I need to scale up or out, then I have more users who are theoretically offsetting the extra costs exponentially.

Of course, I don’t have actual experience with this. I did briefly work for a company that ran a LiveView widget in production, but I never dug into the financials with them (our servers seemed fine, though!)

So my very open-ended question to small-to-medium business folk running LiveView: what’s your experience been like with this?

Thanks to any willing to share!


(*) I do realize that there are certain classes of web applications that must be heavily client-side. I’m just being cheeky, ok?

Most Liked

Hisako1337

Hisako1337

It’s incredibly cheap given you have „ordinary“ liveviews and don’t do extremely challenging computation in your event handlers.

A single (multicore, few gigs RAM) instance can be able to run even a large business. Without breaking a sweat. Even if you do encounter exceptionally high load, the very nature of the beam will prioritize short functions (like user interactions, page loads, …) over heavy background jobs, so the overall system remains snappy until severe overloaded.

(Background: did. this in the past with bigger companies and Black Friday was boring for us technicians!)

tj0

tj0

Small app between 150-200 concurrent connections which uses about 3.5 GB of ram over 6 instances.

Where Next?

Trending in Questions Top

lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
tj0
I’ve been following the steps here for the upgrade from 1.6 to 1.7 and it has gone relatively smoothly all the way till the phoenix_view ...
New
cgraham
Hi! What is currently the best library/method for parsing text and tabular data out of PDF files in Elixir or Erlang?
New
stefanchrobot
Hi, I need a way to handle data migrations in my application. I found an article by @wojtekmach about manual migrations: Automatic and ma...
New
stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New
webofbits
Squid Mesh is an open source workflow automation runtime for Elixir applications. It is aimed at Phoenix and OTP apps that want to defin...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
kip
In 2021 I started a new library called Tempo with the objective of modelling time as a set of intervals - not as instants. In 2022 I gave...
New

We're in Beta

About us Mission Statement