{ "version": "https://jsonfeed.org/version/1", "title": "High Performance Laravel", "home_page_url": "https://www.highperformancelaravel.com/", "feed_url": "https://www.highperformancelaravel.com/feed.json", "description": "Learn how to optimize your Laravel application for high performance, and avoid wasting time on pointless performance myths", "author": { "name": "Matthew Daly", "url": "https://www.highperformancelaravel.com/" }, "items": [ { "id": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/granular-profiling-with-symfony-stopwatch", "content_html": "It's not always easy to profile each step of a loop for long running tasks, but Symfony Stopwatch provides a way to do so fairly easily.", "url": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/granular-profiling-with-symfony-stopwatch", "title": "Granular profiling with Symfony Stopwatch", "date_modified": "2024-09-01T19:00:00.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/faster-database-queries/allow-for-network-latency-in-database-queries", "content_html": "Network latency can be more of an issue in production than in development, and your queries should allow for that.", "url": "https://www.highperformancelaravel.com/tutorials/series/faster-database-queries/allow-for-network-latency-in-database-queries", "title": "Allow for network latency in database queries", "date_modified": "2024-09-01T18:00:00.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/server-configuration/dont-forget-deployment-optimisations", "content_html": "If you're not deploying your application correctly, its performance will suffer.", "url": "https://www.highperformancelaravel.com/tutorials/series/server-configuration/dont-forget-deployment-optimisations", "title": "Don't forget deployment optimisations", "date_modified": "2024-07-15T21:00:00.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/front-end/optimise-analytics-scripts-with-partytown", "content_html": "Analytics scripts can be detrimental to the performance of your site, but there are sometimes ways you can improve this.", "url": "https://www.highperformancelaravel.com/tutorials/series/front-end/optimise-analytics-scripts-with-partytown", "title": "Optimise analytics scripts with Partytown", "date_modified": "2023-12-26T14:45:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/finding-nplus1-queries-with-profilers", "content_html": "N+1 queries are among the most common performance bottlenecks around. Learn how to find them with profiling tools.", "url": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/finding-nplus1-queries-with-profilers", "title": "Finding N+1 queries with profilers", "date_modified": "2023-10-24T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-single-quotes-are-faster-than-double-quotes", "content_html": "A persistent myth holds that the choice of single quotes is more performant than double quotes. This is nonsense.", "url": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-single-quotes-are-faster-than-double-quotes", "title": "Myth: Single quotes are faster than double quotes", "date_modified": "2023-10-17T20:00:00.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/effective-caching/consistent-cache-keys-with-hashes", "content_html": "It can be difficult to come up with consistent cache keys for some use cases, but using hashes for this can be helpful.", "url": "https://www.highperformancelaravel.com/tutorials/series/effective-caching/consistent-cache-keys-with-hashes", "title": "Consistent cache keys with hashing", "date_modified": "2023-10-17T18:00:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/go-with-the-grain-of-http", "content_html": "HTTP has multiple different verbs, and understanding the right ones to use can make it easier to cache the responses.", "url": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/go-with-the-grain-of-http", "title": "Go with the grain of HTTP", "date_modified": "2023-10-01T16:30:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/front-end/optimise-your-images", "content_html": "Picking the wrong image format, or using too-large images, can hurt your site's performance significantly.", "url": "https://www.highperformancelaravel.com/tutorials/series/front-end/optimise-your-images", "title": "Optimise your images", "date_modified": "2023-10-01T15:30:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/queue-what-you-can", "content_html": "Laravel's queue implementation can be very helpful for improving performance, but it's easy to miss many good use cases", "url": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/queue-what-you-can", "title": "Queue what you can", "date_modified": "2023-10-01T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/faster-database-queries/speed-up-bulk-operations-with-transactions", "content_html": "Transactions are intended primarily to improve data integrity, but they can also improve performance when used appropriately", "url": "https://www.highperformancelaravel.com/tutorials/series/faster-database-queries/speed-up-bulk-operations-with-transactions", "title": "Speed up bulk operations with transactions", "date_modified": "2023-10-01T12:30:00.000Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-relational-databases-are-too-slow-and-dont-scale", "content_html": "Relational databases are a good fit for most use cases, but there are some gotchas to be aware of when using them.", "url": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-relational-databases-are-too-slow-and-dont-scale", "title": "Myth: Relational databases are too slow and don't scale", "date_modified": "2023-09-19T21:30:00.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-using-an-orm-will-slow-your-site-down", "content_html": "You'll often hear misleading claims that using an ORM makes for slower database queries. This is actually due to naive usage.", "url": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-using-an-orm-will-slow-your-site-down", "title": "Myth: Using an ORM will slow your site down", "date_modified": "2023-08-27T18:00:00.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/caching-responses-with-the-cache-headers-middleware", "content_html": "Out of the box, Laravel supports a simple method of adding appropriate caching headers to HTTP responses to prevent unnecessary HTTP requests.", "url": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/caching-responses-with-the-cache-headers-middleware", "title": "Caching responses with the cache.headers middleware", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/server-configuration/disable-htaccess-for-faster-performance", "content_html": "If you're using Apache as your web server, the htaccess file can be a significant performance bottleneck, and often an unnecessary one.", "url": "https://www.highperformancelaravel.com/tutorials/series/server-configuration/disable-htaccess-for-faster-performance", "title": "Disable htaccess for faster performance", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-performance-is-a-matter-of-choosing-the-right-framework", "content_html": "Performance benchmarks may seem a useful guide when picking a framework to develop your application in, but they need to be taken with a pinch of salt.", "url": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-performance-is-a-matter-of-choosing-the-right-framework", "title": "Myth: Performance is a matter of choosing the right framework", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-php-is-slower-than-language-x", "content_html": "There are languages where the runtime is faster than PHP. However, that's often irrelevant since the language runtime isn't usually a significant bottleneck.", "url": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-php-is-slower-than-language-x", "title": "Myth: PHP is slower than language X", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-you-need-to-use-octane-to-get-acceptable-performance-from-laravel", "content_html": "Laravel Octane is a useful way of improving application performance. However, it can't help with everything and you shouldn't use it as a crutch.", "url": "https://www.highperformancelaravel.com/tutorials/series/myth-busters/myth-you-need-to-use-octane-to-get-acceptable-performance-from-laravel", "title": "Myth: You need to use Octane to get acceptable performance from Laravel", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/front-end/pick-your-javascript-libraries-carefully", "content_html": "You can't just assume you need jQuery all the time, and if you don't, you can save a lot of bandwidth.", "url": "https://www.highperformancelaravel.com/tutorials/series/front-end/pick-your-javascript-libraries-carefully", "title": "Pick your Javascript libraries carefully", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/reducing-repeated-requests-for-the-user-with-a-decorator", "content_html": "If you're logged into your application, it may be making unnecessary repeated requests to fetch the user. Learn how to cache the user to eliminate this.", "url": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/reducing-repeated-requests-for-the-user-with-a-decorator", "title": "Reducing repeated requests for the user with a decorator", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/reducing-unnecessary-dependencies-in-controllers", "content_html": "Any dependencies in a controller can potentially slow down the response time. By managing them effectively, you can reduce their impact.", "url": "https://www.highperformancelaravel.com/tutorials/series/writing-efficient-applications/reducing-unnecessary-dependencies-in-controllers", "title": "Reducing unnecessary dependencies in controllers", "date_modified": "2023-08-26T14:21:04.837Z" }, { "id": "https://www.highperformancelaravel.com/tutorials/series/faster-database-queries/replace-datediff-with-curdate-interval", "content_html": "The DATEDIFF function in SQL can be slow. Replacing it with CURDATE can often help performance on complex queries.", "url": "https://www.highperformancelaravel.com/tutorials/series/faster-database-queries/replace-datediff-with-curdate-interval", "title": "Replace DATEDIFF with CURDATE - INTERVAL", "date_modified": "2023-08-26T14:21:04.837Z" } ] }