gpt4 book ai didi

performance - ZF2 针对高流量进行优化

转载 作者:行者123 更新时间:2023-12-03 08:50:19 25 4
gpt4 key购买 nike

当超过 3 个用户同时使用我的 ZF2 应用程序时,它似乎非常慢。

我使用 xdebug 和 webgrind 分析我的代码,但我的功能似乎都不是很慢
所以它必须是 zf2 中的一个优化问题。

对于缓存,我使用了 EvanDotPro 的 EdpSuperluminal 模块,这似乎提高了应用程序的性能。

我们使用 nginx 反向代理,但也没有任何意义。

我需要一些好的建议来增加对高流量的响应。我谈论
同时连接 30 多个用户。

最佳答案

有几个非常简单的步骤可以实现更快的应用程序。总是可以考虑三件事。

  • ZF2 Performance QuickTipp #1 - ViewModels
    始终手动分配完全限定的脚本以进行渲染。这将稍微提高性能。它是这样完成的:
    public function someAction()
    {
    $viewModel = new ViewModel();
    $viewModel->setTemplate('MODULE / CONTROLLER / ACTION.phtml');
    // In this given example: $viewModel->setTemplate('foo/bar/some.phtml');

    // Do some other Controller-logic as used to

    return $viewModel->setVariables(array(
    //key-value-paired view-variables
    ));
    }
  • ZF2 Performance QuickTipp #2 - Classmap Autoloading
    这可能是加快应用程序速度的最重要部分之一。就我个人而言,我看到加载时间增加了高达 40%。实现这一点非常简单:
    class Module 
    {
    public function getAutoloaderConfig()
    {
    return array(
    'Zend\Loader\ClassMapAutoloader' => array(
    __DIR__ . '/autoload_classmap.php',
    ),
    );
    }
    }
    autoload_classmap.php然后是 'FQ-CLASSNAME' => 'FQ-FILEPATH' 的简单数组.这可以很容易地自动化 using the classmap_generator-utility of ZF2
  • ZF2 Performance QuickTipp #3 - 保持 Module.php 轻巧!
    可悲的是,这是一篇我还没来得及写的帖子。 Module.php是在每个请求上加载的文件。很多人忘记了这一点,在里面写了很多很多的工厂。在某一时刻,ZfcUser-Module.php是不该做什么的一个例子。闭包或匿名函数也会在每个请求上执行。如果整个项目中有太多的人,这是相当多的工作要做。更好的方法是简单地写 工厂类 . ZfcUser 稍后 updated Module.php使用这个策略。

  • 这几乎是一个人可以做的所有简单的事情(我知道 - 我知道的不多!:D)。然而,有趣的是,开始使用 3 个用户时,您的应用程序运行缓慢。根据我的经验,这与脚本本身无关,而是服务器问题。这是来自登台机器还是本地?

    关于performance - ZF2 针对高流量进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14667621/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com