axelson

axelson

Scenic Core Team

16) ElixirConf 2017 - Cajoling the Bird: How we squeezed more out of Phoenix PubSub- Simon Zelazny

ElixirConf 2017 - Cajoling the Bird: How we squeezed more out of Phoenix PubSub- Simon Zelazny

Grindr is a mobile-only geosocial network with +3M DAU in 137 countries, whose customers send +300M messages a day. The value of the Grindr experience is predicated on accurate indicators of who is online or present at any point.

The chat team at Grindr set out to build a real-time Presence Service, capable of handling hundreds of thousands of concurrent short-lived online sessions, all exchanging info in real-time.

Our talk recounts the story of how we implemented, re-implemented, load tested, optimized, and re-re-implemented the Grindr Presence service, before finally achieving the desired real-world performance characteristics.

We cover in particular: tooling, heuristics, OTP design, and the dirty, dirty workarounds that sometimes save the day. Erlang and Elixir shell snippets will be shared with all.

Our path meanders from the trivial (kernel polling, tuning GC) to the esoteric (BEAM machines with lcnt), to the slightly dodgy (bypassing OTP best practices for raw speed).

The audience will get a chance to see how fun it is to build a minimal load test tool in Elixir, and how to leverage it to target problematic performance hotspots.

Audience: Intermediate-Advanced

All talks are available in the Elixir Conf 2017 Talks List or via the elixirconf2017 tag

Most Liked

Where Next?

Popular in Talks Top

axelson
ElixirConf 2017 - Implementing a MQTT client in Elixir - @gausby Elixir has excellent support for binary pat...
New
axelson
ElixirConf US 2018 – Introducing Scenic - A Functional UI Framework – Boyd Multerer (@boydm) After years of...
New
AstonJ
Just starting to go up - here’s the first three: By @lpil By @Crowdhailer By Evadne Wu (Why aren’t you a mem...
New
New
axelson
by @SophieDeBenedetto LiveView’s reliance on server-rendered HTML and leveraging of bi-directional communication over WebSockets means ...
New
axelson
ElixirConf 2017 - Building Realtime Mobile Apps with React Native and Elixir - Osayame Gaius Obaseki Buildin...
New
brightball
Since the comments are turned off on the YouTube videos, I’m going to post on talk per day on here for viewing and discussion…starting wi...
New
axelson
ElixirConf 2017 - Cajoling the Bird: How we squeezed more out of Phoenix PubSub- Simon Zelazny Grindr is a m...
New
axelson
ElixirConf 2017 - Building an Artificial Pancreas with Elixir and Nerves - by @tmecklem People with Type 1 ...
New
Lawrence_elixir
Tonci Galic - Building a GameBoy emulator with Elixir and Scenic - ElixirConfEU 2019 Tonći Galić - Automating my role, mak...
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42920 311
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 43622 214
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
AstonJ
Please see the new poll here: Which code editor or IDE do you use? (Poll) (2022 Edition) It’s been a while since we first asked this, I...
208 31142 143
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement