本文介绍了优化 Zend 框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从使用 Zend 框架的应用程序中获得尽可能多的性能.

I'm trying to get as much performance as I can out of my application, which uses the Zend Framework.

我正在考虑使用启用 APC 的 Zend Server.不过,我需要先了解一些事情.

I'm considering using the Zend Server, with APC enabled. However, I need to know a few things first.

使用 Zend Server + Zend Framework 有什么好处,还是我应该使用任何普通系统来托管它?

Is there any benefit of using Zend Server + Zend Framework, or should I just use any ordinary system to host this?

沙米尔

推荐答案

我对更快 ZF 的提示(从上到下尝试):

My tips for faster ZF (try from top to bottom):

  • zend 路径优先
  • 接下来的模型
  • 最后休息
  • 我怎么强调都不过分
  • 收益约 50%
  • 即使不需要其他缓存也应该被缓存
  • 我们的一个应用程序在 Oracle 服务器上的性能提高了约 30% ;)
  • 创建访问模型的视图助手
  • 或仅传递来自模型的数据并使用视图助手对其进行格式化
  • 自 ZF1.11 起
  • 最好是去掉 require_once 调用
  • ZF 中有很多路径栈
    • 表单元素
    • 查看助手
    • 动作助手
    • 没有创建新的视图实例
    • 您需要在渲染视图范围之外,在主视图内设置变量!
    • 您也可以将 partialLoop() 替换为 foreach + render()
    • 需要大量工作且很少更改的小块(如动态菜单)
    • 使用分析器寻找容易实现的目标
      • 认为很慢的事情可能并没有那么慢
      • small chunks that require lot of work and change seldomly (like dynamic menus)
      • use profiler to find low-hanging fruit
        • what you think is slow may not really be so slow
        • 参见手册 - Zend_Locale::setCache(), Zend_Currency::setCache(), Zend_Db_Table::setDefaultMetadataCache(), configs...
        • 除非 100% 需要,否则不要使用它们 - 例如对于复杂的数据输出,但请注意它们造成的性能损失
        • 它们创建了全新的调度循环并且是性能杀手!
        • 它将包含的类合并到一个长文件中以最小化统计调用
        • 如果来自 GitHub
          • 它来自 EDP 的 ZF2 版本
          • 但要注意 - 它尚未在生产中进行测试,请谨慎使用
          • 这对于非常大的文件很有意义 - HDD 始终是瓶颈
          • 即使是微优化有时也能正常工作
            • 带有所有 ZF 类路径的类映射是巨大的,当具有干"操作码缓存和硬盘压力大.

            任何操作码缓存当然是必须的;)(APC、ZendOptimizer 等)

            Any opcode cache is of course a must have ;) (APC, ZendOptimizer, etc.)

            这篇关于优化 Zend 框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 02:37