Category: Technology



You have a performance problem, and you don't know what to do. All you know is that one of your endpoints or applications is too slow; and perhaps it only affects a certain user or customer. How do you figure out why it's slow, and what can you do to catch performance problems before they hurt users in production? We'll go through a wide range of strategies for detecting and diagnosing performance problems in typical production workloads. We'll cover both web-based domains as well as backend domains and other analytical applications involving number-crunching and big-data applications. We'll step through the following high-level strategies: – Tracing: through instrumentation of your code, you will get detailed traces of where the time is spent in generating your web server responses.
– Profiling: we'll look at profiling strategies using both the Python built-in cProfile tool, as well as awesome 3rd party libraries like pyspy, including how to use these with pytest
– Isolation: how to figure out if performance is affected by CPU, or memory, disk, or network IO limitations.
– Reasoning: we'll look at common scenarios that result in performance regressions such as the needless execution of sub-queries in rendering web views, or algorithmic analysis and ""big-O"" notation, or concurrency problems resulting from exhaustion of threads in a pool and asyncio concurrency limitations resulting from overloaded subscription.
– Prophylaxis: we'll look at how to include benchmarks within your CI pipeline, including with pytest and other technologies to catch performance regressions ahead of time. PUBLICATION PERMISSIONS:
Original video was published with the Creative Commons Attribution license (reuse allowed). Link: https://www.youtube.com/watch?v=3BnGyoyhSmM https://www.youtube.com/watch?v=RRCGywYTsxI



We'll start by reviewing the rules of the optimization club and why you shouldn't optimize.
After that we'll see how you can measure speed and memory consumption and how to find the bottlenecks in your code. Finally we'll review some code samples and make them faster. PUBLICATION PERMISSIONS:
PyData Organizers provided Coding Tech with the permission to republish PyData talks. CREDITS:
PyData YouTube channel: https://www.youtube.com/@PyDataTV https://www.youtube.com/watch?v=ZRJ4i-Kry8Q



The Sidecar model is often used in Kubernetes deployments to add common tools like observability, service mesh and security into application pods. eBPF is a kernel technology that lets us dynamically change the way that the kernel behaves – and it’s revolutionizing the way we instrument applications running under Kubernetes. Tools built with eBPF have the power to observe, secure and connect all the processes on a (virtual) machine, so there’s no need to inject a sidecar container into every pod. Does eBPF mean we’ll be saying goodbye to sidecars? Attend this talk to find out! PUBLICATION PERMISSIONS:
Original video was published with the Creative Commons Attribution license (reuse allowed). Link: https://www.youtube.com/watch?v=bnl25El7RYk https://www.youtube.com/watch?v=ThtRT8dhu8c