Laravel 在 Linux 的 Azure Web App 上太慢了

Laravel is so slow on Azure Web App for Linux

我想知道什么是最好的方法,以 运行 laravel Azure Web App linux 上的应用程序为基础。

我试图在 Linux 和 Windows Azure 网络应用程序中测试相同的应用程序(相同的 azure 应用程序计划、相同的区域和相同的“光纤”连接速度):

Windows 的表现看起来比 Linux

好多了

这是 Linux App 中的截图:

这是 Windows App 中的截图:

有人可以帮我找到 Linux 中速度缓慢的根本原因吗?这是 Microsoft Web 应用程序本身的问题?

此致。

当部署到内置图像时,您的代码和内容会被分配一个用于 Web 内容的存储卷,由 Azure 存储提供支持。该卷的磁盘延迟比容器文件系统的延迟更高且变化更大。需要对内容文件进行大量只读访问的应用可能会受益于自定义容器选项,该选项将文件放置在容器文件系统中而不是内容卷上。

我认为 nginx 是性能更好的选择 optimization.Also 请务必遵循 Laravel 部署指南。

在部署到生产环境时,请确保您正在优化 Composer 的 class 自动加载器映射,以便 Composer 可以快速找到要为给定 class 加载的正确文件:

composer install --optimize-autoloader --no-dev

将应用程序部署到生产环境时,您应该确保在部署过程中 运行 config:cache Artisan 命令:

php artisan config:cache

如果您正在构建一个包含许多路由的大型应用程序,您应该确保在部署过程中运行正在使用 route:cache Artisan 命令:

php artisan route:cache

将应用程序部署到生产环境时,您应该确保在部署过程中 运行 view:cache Artisan 命令:

php artisan view:cache

还缓存不定期更新数据的视图。有一个图书馆叫 spatie/laravel-responsecache

https://github.com/spatie/laravel-responsecache

参考:https://laravel.com/docs/8.x/deployment

在 ngnx 中缓存文件

参考:NGINX cache static files

参考:https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/

请使用以下步骤:-

  1. 运行缓存删除评论php artisan config:cache , php artisan route:cache , php artisan view:cache
  2. 在你的形象中 Favicon.ico 不是主宰。解决了这个问题
  3. 缩小所有 js 和 css