Files
Alexander Abakumov 15e744da49 Initial commit: Complete Software Architecture course with 11 modules
- Added comprehensive course structure with 11 modules
- Included theoretical content, practical examples, and tasks
- Multi-language code examples (Java, Rust, Node.js, Python)
- Detailed analysis of architectural approaches and trade-offs
- Complete caching strategies documentation
- Architecture examples from real-world systems (Twitter, Netflix, Uber)
- Structured navigation and learning path
- Ready for educational use
2025-09-09 22:08:07 +03:00

81 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Модуль 10: Производительность и оптимизация
## Навигация
- [🏠 Главная страница курса](../../README.md)
---
## Описание модуля
Этот модуль посвящен изучению принципов производительности и оптимизации систем. Студенты научатся анализировать производительность, выявлять узкие места, применять различные стратегии оптимизации и планировать ресурсы.
## Содержание модуля
### 1. [Основы производительности](sections/01-performance-fundamentals.md)
- Метрики производительности (Throughput, Latency, Resource Utilization)
- Производительность по уровням (Application, Database, Infrastructure)
- Мониторинг и измерение производительности
### 2. [Профилирование и анализ](sections/02-profiling-analysis.md)
- Инструменты профилирования (JProfiler, VisualVM, APM)
- Анализ производительности и узких мест
- Анализ памяти и утечек
### 3. [Оптимизация базы данных](sections/03-database-optimization.md)
- Оптимизация запросов и индексов
- Connection pooling и batch операции
- Анализ планов выполнения запросов
### 4. [Кэширование](sections/04-caching.md)
- Стратегии кэширования (Cache-Aside, Write-Through, Write-Behind)
- Многоуровневое кэширование
- Управление кэшем и метрики
### 5. [Оптимизация кода и минификация](sections/05-code-optimization-minification.md)
- Минификация JavaScript/TypeScript, Java, Rust, Python
- Оптимизация изображений и CSS
- Оптимизация загрузки ресурсов
### 6. [Оптимизация сети](sections/06-network-optimization.md)
- Connection pooling
- Сжатие HTTP ответов
- Интеграция с CDN
### 7. [Capacity Planning](sections/07-capacity-planning.md)
- Анализ текущей производительности
- Прогнозирование нагрузки
- Планирование ресурсов
### 8. [Performance Testing](sections/08-performance-testing.md)
- Типы тестов производительности (Load, Stress, Endurance)
- Автоматизация тестов производительности
- Анализ результатов тестирования
### 9. [Практические задания](sections/09-practical-tasks.md)
- Задания по профилированию
- Оптимизация базы данных
- Performance testing
## Ключевые компетенции
- Понимание принципов производительности систем
- Умение анализировать и измерять производительность
- Навыки профилирования и выявления узких мест
- Знание стратегий оптимизации на разных уровнях
- Умение планировать ресурсы и capacity planning
- Навыки проведения тестов производительности
## Практические задачи
1. **Профилирование приложения** - настройка инструментов профилирования и анализ производительности
2. **Оптимизация базы данных** - анализ и оптимизация медленных запросов
3. **Performance Testing** - создание и проведение тестов производительности
## Дополнительные ресурсы
- **Инструменты**: JProfiler, VisualVM, New Relic, JMeter, Gatling
- **Книги**: "Java Performance", "High Performance Browser Networking"
- **Документация**: Spring Boot Performance, JVM Tuning Guide
## Критерии оценки
- Понимание метрик производительности (25%)
- Умение использовать инструменты профилирования (25%)
- Навыки оптимизации кода и базы данных (25%)
- Способность планировать ресурсы и проводить тестирование (25%)