Slide 29
Slide 29 text
•
•
•
•
•
OTEL Tracing alone will make it
explicit
Solution is normally
batching/preloading
Ecto: preload
LiveView: update_many
Absinthe: DataLoader
N+1
SUMMARY
•
•
•
Requires lower level profiling
fprof, cprof, eprof, eflambe
Solution will vary, but a lot of
the times some preprocessing
goes a long way
Slow Code
•
•
•
•
Distributed tracing can help
pointing out the specific query
to analyse
Postgres EXPLAIN will give you
insight on what is wrong
PEV2 will help you visualize it
Solutions will vary: indexes,
data denormalization,
preprocessing, extra
conditions to reduce result set
Slow Query