Imagine that you've been given an old project, a Food Delivery app, with the backend written in Laravel 8 and PHP 8.0. The web and mobile interfaces communicate with the backend through an API, but it's currently performing poorly with an average response time of 600ms. The product owner has requested you to optimize the performance and wonders if it's possible to reduce it by a factor of 10. What would you do?
Topics to be Covered:
Nginx Cache
Rememberable package
Redis Cache
Queues: Redis/SQS
Horizon
Octane: Swoole / Roadrunner
Upgrading PHP and Laravel
While you may be familiar with most of these points and possibly already using them, the focus will be on ensuring that you're using them correctly and effectively. In a real-world example, I will demonstrate how we managed to reduce average response times by 10 times. We'll explore what's hidden under Laravel's package magic and discuss ways to mitigate the negative impact on project performance.
By the end of this performance optimization session, you will not only have improved your performance but also gained a deeper understanding of how to utilize the Laravel framework more efficiently.
3. Герасимчук Єгор
● Co-Founder & CTO @ Dots Platform
● Certified Laravel Developer
● Більше 10 років у розробці
● Автор телеграм каналу ASAP Developer де розповідаю про
продуктову розробку
● Розповідаю про архітектуру і бекенд у своєму ютуб каналі
● Автор і ментор курсів по Laravel та PHP
● У вільний час пишу код для себе, і навіть одного разу став
переможцем UaWebChallenge
3
14. 1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
15. 1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
16. 1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
17. 1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
7. Завантаження даних користувачем
21. 1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
7. Завантаження даних користувачем
56. 1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
7. Завантаження даних користувачем
122. “
Продакт каже: АПІ працює супер швидко.
Замовлення створюються дуже повільно.
Користувач чекає 2-3 секунди. Треба
швидко. Супер швидко. Зробіть, що
небудь.