- 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
81 lines
4.6 KiB
Markdown
81 lines
4.6 KiB
Markdown
# Модуль 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%)
|