Scaling Laravel
Course description
The first time I put code into a load balanced environment, I accidentally gave away thousands of dollars in prizes within a few minutes. After pulling an all-nighter to get the code complete under the deadline, I pushed up code that was *not* ready to be in a scaled architecture. I was clueless. That night was terrible chaos, but it's what made me decide to learn more about servers! In the following years, I learned a lot about servers.
Read more about the course
It turns out that scaling your application isn't necessarily hard, but there is a lot to know!
This course aims to help you navigate setting your application up to scale without suffering the same pain I did.
Laravel Optimization
Performance tips to implement into your applications.
- Caching Tools
- Efficient Eloquent Queries
- Table Indexing
- Object Caching
- Advanced Queues
- VueJS with Laravel Echo for real-time updates
- Transactions & Concurrency Control
Server Optimization
Squeezing more requests per second out of your servers.
- Setup & Security
- Network Optimization
- PHP-FPM Configuration
- Opcache
- MySQL Fine-Tuning
- Server Specialization
Horizontal Scaling
Learn about load balancing and how it affects your application.
- HAProxy
- Automated LetsEncrypt for SSL
- Network Security
- Static Assets & Sessions
- Application Readiness
Advanced MySQL
Using MySQL effectively in production.
- GTID-based replication
- Best usage of mysqldump
- "Physical" backups with xtrabackup
- Streaming backups to S3
- UTF-8 and performance configuration
Watch Online
Watch Online Scaling Laravel
All Course Lessons (69)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | The Optimize Command Demo | 05:40 | |
| 2 | The Route Cache | 05:08 | |
| 3 | The Config Cache | 05:40 | |
| 4 | Eager Loading | 05:33 | |
| 5 | Database Chunking | 07:05 | |
| 6 | Chunk By Id | 03:27 | |
| 7 | MySQL Indexing I | 07:19 | |
| 8 | MySQL Indexing II | 05:43 | |
| 9 | MySQL Indexing III | 20:35 | |
| 10 | Object Caching I | 03:21 | |
| 11 | Object Caching II | 09:14 | |
| 12 | Object Caching III | 13:43 | |
| 13 | Object Caching IV | 05:56 | |
| 14 | Installing the Basics | 07:24 | |
| 15 | Forge-Like Configuration | 13:11 | |
| 16 | Security | 14:43 | |
| 17 | Network Configuration | 10:57 | |
| 18 | FPM Process Management | 13:30 | |
| 19 | xDebug | 02:42 | |
| 20 | Opcache | 09:11 | |
| 21 | Session Garbage Collection | 05:47 | |
| 22 | Custom Route Files | 06:54 | |
| 23 | A New App | 03:11 | |
| 24 | Sending Mail | 05:39 | |
| 25 | Database Queue Driver | 10:41 | |
| 26 | UX and VueJS | 11:38 | |
| 27 | Integrating Pusher | 14:29 | |
| 28 | Tracking Tasks | 20:02 | |
| 29 | Database Queue Limitations | 02:47 | |
| 30 | Redis Queue | 02:28 | |
| 31 | Laravel Horizon | 10:44 | |
| 32 | SQS Queue | 12:28 | |
| 33 | SQS and Wait Time | 11:27 | |
| 34 | Queue Priority and Segmenting | 10:45 | |
| 35 | Queues in Production | 16:10 | |
| 36 | What We're Doing | 05:15 | |
| 37 | MySQL Install & Setup | 14:00 | |
| 38 | MySQL Optimization | 12:19 | |
| 39 | Redis Server | 07:25 | |
| 40 | Additional Network Security | 09:48 | |
| 41 | HAProxy Part I | 06:38 | |
| 42 | HAProxy Basic Load Balancing | 05:37 | |
| 43 | Header Detection with Trusted Proxies | 15:36 | |
| 44 | Let's Encrypt with HAProxy | 16:45 | |
| 45 | Session Management | 05:04 | |
| 46 | User Uploaded Files with VueJS | 22:21 | |
| 47 | The User Uploaded File Problem | 02:25 | |
| 48 | Amazon S3 for File Storage | 06:47 | |
| 49 | Upload to S3 | 03:16 | |
| 50 | Download From S3 | 13:19 | |
| 51 | Finishing VueJS Uploads | 04:28 | |
| 52 | Intro to Scaling on Forge | 01:23 | |
| 53 | Creating Servers | 04:41 | |
| 54 | Access & GitHub | 02:15 | |
| 55 | Application Setup | 06:42 | |
| 56 | Networking | 04:27 | |
| 57 | Final App Touches | 05:05 | |
| 58 | Forge Recipes | 05:14 | |
| 59 | Queue Workers | 10:55 | |
| 60 | CRON Server | 10:11 | |
| 61 | CRON & Laravel 5.6 | 07:29 | |
| 62 | Data Integrity Intro | 02:04 | |
| 63 | Transactions in Laravel | 08:38 | |
| 64 | Repeatable Read Isolation | 08:29 | |
| 65 | Isolation Level Caveat | 03:58 | |
| 66 | Laravel Transactions with SELECTs | 02:54 | |
| 67 | Pessimistic vs Optimistic Overview | 03:26 | |
| 68 | Pessimistic Locking | 05:08 | |
| 69 | Optimistic Locking | 10:31 |
Unlock unlimited learning
Get instant access to all 68 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionComments
0 commentsWant to join the conversation?
Sign in to commentSimilar courses
Test-Driven Laravel
Mastering Laravel 10 Query Builder, Eloquent & Relationships
PHP with Laravel - Create a Restaurant Management System
Laravel Backends for Vue.js 3