▶️ Переглянути відеоурок (7-8 хвилин)
Вивчення проблеми N+1 запитів - Laravel In Practice EP5
Ваша панель управління завантажується, але щось іде не так. Дані правильні, код виглядає чистим, але користувачі скаржаться на повільну роботу. Що, якби я сказав вам, що ваша, на перший погляд, проста панель таємно навантажує базу даних сотнями зайвих запитів?
У цьому епізоді Laravel In Practice я покажу, як профілювати вашу Laravel програму та виявити приховані проблеми з продуктивністю. Ви дізнаєтеся, як встановити та налаштувати Laravel Telescope для спостереження за тим, що відбувається за лаштунками, виявити проблеми N+1 запитів, які тихо знижують продуктивність, і зрозуміти, чому ваша, здавалося б, проста панель генерує більше 400 запитів до бази даних.
Результат? Ви виявите шокуючі вузькі місця в продуктивності, про які не здогадувалися. Ваше завантаження сторінки за 150 мс не є наслідком складних обчислень — це наслідок упереджувальних проблем з базою даних. Ви точно побачите, які запити виконуються, скільки разів їх викликали і чому ваша база даних працює в 100 разів більше, ніж потрібно.
Цей епізод запускає частину оптимізації продуктивності в Laravel In Practice, ґрунтуючись на системі звітності з епізодів 1-4. Той чудовий код, який ми написали? Він працює, але насправді є неефективним. Тепер ви навчитеся виявляти ці проблеми до того, як їх помітять ваші користувачі, використовуючи справжні інструменти профілювання, а не здогадки про те, що працює повільно.
Чи то ви налагоджуєте повільну панель, чи розслідуєте скарги клієнтів, або просто цікавитеся продуктивністю вашого додатку — ці техніки профілювання відкривають істину. Telescope розповідає всю історію — кожен запит, кожне завантаження моделі, кожен хіт кешу. Ви створите базові показники, які вимірюють реальну продуктивність, а не здогадки.
Стратегії профілювання, які ми впроваджуємо тут, закладають основу для драматичних оптимізацій, які чекають у наступних епізодах.
Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті
Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!