本节包含可选提示,以优化在本地运行您的 Filament 应用时的性能。
如果你正在寻找生产环境的特定优化,请查看部署到生产环境。
OPcache 通过将预编译脚本的字节码存储在共享内存中来提升 PHP 性能,从而无需在每次请求时加载和解析 PHP 脚本。这可以显著加快您的本地开发环境,特别是对于大型应用程序而言。
要检查 OPcache 是否已启用,运行:
php -r "echo 'opcache.enable => ' . ini_get('opcache.enable') . PHP_EOL;"你应该会看到 opcache.enable => 1. 如果不是,请通过在你的 php.ini 中添加以下行来启用它:
opcache.enable=1 # Enable OPcache要找到您的 php.ini 文件, 请运行: php --ini
如果你遇到响应时间慢的问题,或者怀疑 OPcache 空间不足,你可以在你的 php.ini 文件中调整这些参数:
opcache.memory_consumption=128
opcache.max_accelerated_files=10000要找到您的 php.ini 文件,运行: php --ini
opcache.memory_consumption: 定义了OPcache可用于存储预编译PHP代码的内存量(单位为兆字节)。你可以尝试将其设置为128并根据你的项目需求进行调整。opcache.max_accelerated_files: 设置 OPcache 可缓存的最大 PHP 文件数。 您可以尝试将 10000 作为起始值,并在您的应用程序包含大量文件时增加。这些设置是可选的,但如果你正在排查性能问题或正在开发一个大型 Laravel 应用,它们会很有用。
Filament 的性能问题,尤其是在 Windows 上,通常涉及 Microsoft Defender。
安全软件,例如实时文件扫描器或杀毒工具,会通过在每次文件被访问时进行扫描来拖慢您的开发环境。这会影响 PHP 执行、视图渲染以及整体性能。
如果您注意到速度变慢,请考虑将您的本地项目文件夹从实时扫描中排除。
像 微软 Defender 这样的工具,或类似的杀毒解决方案,可以配置为跳过特定目录。查阅您的杀毒软件或安全软件文档以获取有关如何从实时扫描中排除特定文件夹的说明。
只有在您完全信任该项目并理解风险的情况下,才将文件夹从扫描中排除。
调试工具对于本地开发非常有用,但当你没有主动使用它们时,它们会显著降低你的应用程序速度。当你需要最大性能时,暂时禁用这些工具会在你的开发体验中带来显著的不同。
Laravel Herd 包含一个视图调试工具适用于 macOS 和 Windows。它显示在一次请求期间渲染了哪些视图以及什么数据被传递给了它们。
虽然对调试有所帮助,但此功能会显著拖慢你的应用。如果你不主动使用它,最好将其关闭。
在 Herd 中禁用视图调试:
尽管对调试很有用,Laravel Debugbar 可能会减慢您的应用程序,尤其是在复杂页面上,因为它在每次请求时收集并渲染大量数据。
如果您注意到速度变慢,请尝试通过在您的 .env 文件中添加以下行来禁用它:
DEBUGBAR_ENABLED=false如果您在开发过程中仍然需要 Debugbar,请考虑禁用您不使用的特定收集器。
有关详细信息,请参阅 Debugbar 文档。
Xdebug 是一个强大的调试工具,但是它可能会显著降低性能。如果你发现性能问题,检查 Xdebug 是否已安装并考虑禁用它。
如果 Xdebug 已安装但未禁用,它将仍默认启用。如果您已安装它,请确保在您的 php.ini 文件中明确禁用它:
xdebug.mode=off # Disable Xdebug要找到您的 php.ini 文件,请运行:php --ini
缓存 Blade 图标 有助于在本地开发期间提高性能, 尤其是在渲染大量图标的视图中.
要启用缓存,运行:
php artisan icons:cache请确保在安装新的 Blade 图标包时,再次运行该命令以发现新的图标。