Symfonyob娱乐下载 5.1新增功能:可配置的PHP预加载
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
尼古拉斯Grekas
在# 36195而且# 36209.
PHP类预加载是PHP 7.4中添加的最重要的特性之一。在服务器启动时(在任何应用程序代码运行之前),PHP可以将特定的PHP文件集加载到内存中并生成它们的内容永久可用到所有后续请求。
在预加载过程中,PHP还会解析类的依赖关系和与父类、接口和特征的链接。它还删除不必要的包含并执行一些其他优化。总体结果是a非常显著的性能改进在实际应用中。
ob娱乐下载Symfony是兼容PHP预加载从4.4版本开始。在Syob娱乐下载mfony 5.1中,我们改进了预加载,使其更容易配置,这要归功于两个新的依赖注入标签被称为container.preload
而且container.no_preload
.
首先,container.preload
允许您定义PHP必须预加载哪些类。在您的服务中添加一个或多个这样的标记,以预加载您需要的尽可能多的类。例如,在Symfony代码中,我ob娱乐下载们使用这个标记来预加载与嫩枝
服务:
1 2 3 4 5 6 7 8 9 10
服务:枝:类:树枝\环境#……标签:-{名称:“container.preload”,类:“树枝\ \ FilesystemCache缓存”}-{名称:“container.preload”,类:“树枝\ \ CoreExtension延伸”}-{名称:“container.preload”,类:“树枝\ \ EscaperExtension延伸”}-{名称:“container.preload”,类:“树枝\ \ OptimizerExtension延伸”}#……
的container.no_preload
标记用于告诉PHP它不能预加载某个类。在本例中,标记没有定义a类
属性。相反,将标签应用于某些服务,与该服务相关的类将不会被预加载:
1 2 3 4 5 6
服务:twig.template_cache_warmer:类:ob娱乐下载Symfony \包\ TwigBundle \ CacheWarmer \ TemplateCacheWarmer#……标签:-{名称:“container.no_preload”}
与PHP预加载相关的另一个变化是热身()
方法ob娱乐下载Symfony缓存预热器现在必须返回一个包含类的FQCN(全限定类名)的数组来预热。自Symfony 5.1以来,不这样做已弃用。ob娱乐下载
我们已经在Symfony代码中实现了所有这些特性。ob娱乐下载结果是,在我们的合成基准测试中,样例应用程序从每秒360个请求增加到每秒630个请求75%的性能提升.
在您自己的应用程序中,性能改进会有所不同。要了解有关Symfony应用程序中的预加载的更多信息,ob娱乐下载注册参加下一个SymfonyLive在线活ob娱乐下载动会议将于4月17日星期五举行。
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。