
Master back end performance engineering to optimize server-side performance and efficiency. Explore key metrics such as response time, throughput, and utilization, and caching strategies to prevent bottlenecks.
Discover how performance modeling helps understand, predict, and optimize software and network performance. Learn about response time, capacity planning, scalability, and testing under varying loads to ensure user experience.
Explains the basics of performance engineering, focusing on users, load generation, and memory and CPU utilization to monitor resource performance and throughput.
Ensure 24x7 availability by using clustering and load balancers to distribute load across multiple servers, and implement disaster recovery for natural disasters to safeguard applications.
Explore the core concepts of performance engineering basics: network, bandwidth, and latency; learn about web page size, HTTP/1.1, and Java profiling to identify bottlenecks.
Explore Java performance concepts by examining the JVM architecture, including class loader, heap and stack, and learn to monitor memory and threads with JConsole and VisualVM.
Configure the JVM heap with JMX and JMS, explore eden and the young generation, survivor spaces, and tenured memory, and compare serial, parallel, concurrent mark-sweep, and G1 garbage collectors.
Learn how to capture a Java heap dump, why it's needed, and analyze it with tools like IBM heapdump analyzer and the MAT tool, plus GC log analysis and visualizers.
Explore infrastructure monitoring as backbone of performance engineering, analyzing CPU, memory, disk, and IO wait time to identify bottlenecks and optimize cloud or on premise systems with Grafana and Prometheus.
Analyze the JVM memory model, including heap, stack, and metaspace, to diagnose out-of-memory errors, identify memory leaks and excessive object creation, and use heap dumps and profiling to prevent issues.
Explore java thread pooling and how to configure thread pools to optimize performance and scalability by reusing threads and tuning core pool size, maximum pool size, and queue capacity.
Leverage JDBC connections and pool management to reduce overhead, deliver faster responses, and scale apps, with practical guidance on pool size, timeouts, monitoring, SSL, and cloud trends.
Master linux performance engineering by using top and htop for cpu and memory, and free, vmstat, iostat, iotop, netstat, and ps for comprehensive monitoring.
Learn real-time monitoring and profiling to pinpoint bottlenecks in end-to-end request flows, using Prometheus, Telegraf, Grafana, and profiling tools like JVisualVM and APM suites.
Explore Oracle AWR analysis for performance engineering by collecting AWR reports during tests, identifying high-CPU SQL queries, and optimizing SQL performance and resources.
This course provides a comprehensive understanding of the principles, methodologies, and tools necessary to optimize the performance of backend systems in various software applications. Participants will gain insights into the intricacies of backend performance, including identifying bottlenecks, optimizing database queries, improving network latency, and scaling infrastructure.
Key Topics Covered:
Introduction to Backend Performance Engineering:
Understanding performance metrics and benchmarks.
Importance of backend performance in modern software applications.
Profiling and Monitoring Tools:
Utilizing profiling tools to identify performance bottlenecks.
Implementing monitoring solutions for real-time performance analysis.
Database Performance Optimization:
Techniques for optimizing database queries.
Indexing strategies for improving database performance.
Utilizing caching mechanisms to reduce database load.
Network Performance Optimization:
Analyzing and optimizing network latency.
Implementing content delivery networks (CDNs) for improved data delivery.
Managing network congestion and optimizing data transfer protocols.
Backend Architecture Design:
Design patterns for scalable backend architecture.
Load balancing strategies for distributing incoming traffic.
Horizontal and vertical scaling techniques.
Performance Testing and Benchmarking:
Designing effective performance tests.
Benchmarking tools and methodologies.
Interpreting and analyzing performance test results.
Course Format:
The course will be delivered through a combination of lectures, hands-on exercises, case studies, and discussions. Participants will have the opportunity to apply the concepts learned in the course to real-world scenarios through practical exercises and projects.