框架比较和开销

2024-01-01

我正在开发一款使用 Zend 框架开发的 Facebook 游戏。现在我没有太多的流量,并且已经看到相当多的数据使用/CPU 时间。

其实我不太擅长Zend。我擅长从头开始编写 PHP 和 JS 代码。

所以,我很好奇Zend框架的性能。因为我正在考虑使用 Zend 作为后端来重建应用程序来管理数据/会话/逻辑。并使用 JS(原生代码或 JQuery)进行前端渲染 UI 并在客户端处理用户操作。

在这之间,使用 aJax 从 Zend 后端获取数据..最有可能是 REST。
有人对这种结构有建议吗?我希望以此减少服务器负载,并且更易于管理代码,以及更好的用户体验。

感谢有人有好主意。 :)

(几天后发帖)

所以,基线 PHP 应该比 Zend(或任何)框架更快并且使用更少的数据传输(如果代码正确),对吗?代码可重用性在这里并不是一个大问题。 :)


许多 php 开发人员遭受的一件事是为了他们认为的性能而牺牲良好的架构和合理的原则。

您可能决定在代码中走捷径,但请记住,“过早的优化是万恶之源“。因此,如果您需要尽早优化,请确保您实际上正在做一些有用的事情。

Zend 库的设计考虑了最佳实践,而不一定是性能。其基本原理是,有很多方法可以在不牺牲代码维护和可读性的情况下加快速度(缓存、负载平衡、硬件、队列管理等)。

话虽如此,我认为您要寻找的不是 ZF 性能的统计数据,而是有关如何使用它设置应用程序的建议。具体来说,我建议您为 ajax 请求创建一个专用的、非常轻量级的引导程序。在 ajax 中,在放入控制器之前通常只需要一些最低限度的先决条件。对于非ajax请求,通常使用推荐的架构(引导程序、前端控制器+插件、控制器+帮助器、模型+视图+帮助器)来设置它们。

我个人的经验法则是,如果我全天只处理大约 100 个请求,那么就没有理由进行任何优化。当应用程序开始感觉迟缓时,如果它产生足够的收入,也许我可以得到一个专用服务器,如果没有,总是有诸如 apc、memcached、beanstalkd 等解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

框架比较和开销 的相关文章

  • 为什么 java.util.Arraylist#clear 按照 OpenJDK 中的方式实现?

    http grepcode com file repository grepcode com java root jdk openjdk 6 b14 java util ArrayList java 473 http grepcode co
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • PHP 如何查找自日期时间以来经过的时间? [复制]

    这个问题在这里已经有答案了 如何查找自日期时间戳记以来经过的时间2010 04 28 17 25 43 最终输出文本应该是这样的xx Minutes Ago xx Days Ago 大多数答案似乎都集中在将日期从字符串转换为时间 您似乎主要
  • 调用未定义的函数curl_version

    您好 我已经在运行 php 5 6 的 ubuntu 14 04 上安装了 wordpress 4 6 网站 管理页面不可见 我可以在日志中看到以下错误 致命错误 在第 274 行调用 var www html files modules
  • 如何加速我的 Perl 程序?

    这确实是两个问题 但它们非常相似 为了简单起见 我想我应该把它们放在一起 Firstly 给定一个已建立的 Perl 项目 除了简单的代码优化之外 还有哪些不错的方法可以加速它 Secondly 用Perl从头开始编写程序时 有哪些好的方法
  • $_POST 返回空

    尝试练习一下 ajax 和 PHP 我不明白为什么每当我发送一些东西时 它都会返回空或未定义的索引 PHP 返回空 JS form submit function var meth this attr action var msg msg
  • PHP:我是否将事件驱动编程与信号感知接口(信号和槽/观察者模式)混淆了?

    我看到很多人说 Symfony2 Zend Framework 2 等都是事件驱动的 在桌面世界中 通过事件驱动编程 我了解到应用程序每当其状态发生变化时都会通知其观察者 由于 PHP 应用程序是无状态的 因此无法执行此类操作 IE 让观察
  • PSR-2 编码标准:为什么仅包含 PHP 的文件中没有 PHP 结束标记? [复制]

    这个问题在这里已经有答案了 我刚刚听说PSR 2编码标准 http www php fig org psr psr 2 在对此问题的评论中 是否有任何理由在方法和成员变量名称之前使用 public 关键字 https stackoverfl
  • mysql_fetch_array while 循环。它是如何工作的?

    我已经阅读了 php net 上的该函数 但这仍然没有回答我的问题 我对 C 语言有一定的了解 并且刚刚开始使用 php 通常在 C 中 如果要执行 while 循环 则需要有一些条件来将循环推进到不再有效的点 如下所示 while x g
  • 正确显示mySQL一对多查询结果

    我有两张桌子 TRIPS tripID clientID and LEGS legID depart arrive tripID TRIPS 与 LEGS 具有一对多关系 因为有多个legID s per tripID 我需要以以下格式显示
  • 正则表达式 - 剥离非数字并删除分(如果有)

    我目前正在开发一个 PHP 项目 需要一些正则表达式的帮助 我希望能够获取用户输入的货币值并删除所有非数字和小数位 分 Ex 2 000 00 到 2000 2 000 00 美元 到 2000 2abc000 到 2000 2 000 到
  • 在数据转换之前应用验证

    我想将从提交的用户数据中获得的文本字段转换为 Symfony2 中的对象 我使用 DataTransformer 来做到这一点 当我使用 NotEmpty 或 NotNull 等内置验证器或任何以标准方式内置的自定义验证器时 Symfony
  • 将 RequestBody json 转换为对象 - Spring Boot

    我是 java 开发的初学者 但之前有 PHP 和 Python 等编程语言的经验 对于如何进行 Spring Boot 的开发几乎没有什么困惑 我正在开发一个rest API 它有以下请求 key value key1 value1 pl
  • Elasticquent(ElasticSearch) Laravel 限制

    您好 我尝试使用 elasticSearch 查询获取所有结果 但如果 limit 值为 null 则仅返回 10 个结果 videos Video searchByQuery match gt field gt request gt fi
  • 有没有办法提高linux管道的性能?

    我正在尝试使用 64 位将超高速数据从一个应用程序传输到另一个应用程序CentOS http en wikipedia org wiki CentOS6 我使用以下方法进行了基准测试dd发现阻碍我的是管道而不是程序中的算法 我的目标是达到
  • PHP:使用输入和输出参数(不是“INOUT”)调用 MySQL 存储过程

    我想从 PHP 调用 MySQL 中的存储过程 该过程需要输入and输出参数 not INOUT 参数 举一个简单的例子 假设我在 MySQL 中有以下存储过程 DELIMITER DROP PROCEDURE IF EXISTS test
  • 使用 file_get_contents 在 php 中进行屏幕缩放

    嗨 我对屏幕抓取很陌生 我正在尝试从酒店预订网站上抓取评论以显示在我的网站上 我已经走到这一步了 但有点卡住了 有人可以帮忙吗 use 文档 http php net manual en class domdocument ph
  • Yii框架异步请求

    我有一个执行 3 个任务的 ajax 请求 保存模型 数据库 发电子邮件 给出成功或失败的消息 因为这个任务需要的时间太长了 用户最多可以等待 20 秒以获得响应 成功或失败消息 如果用户关闭浏览器 则其会停止用户当前进程的操作之一 这是糟
  • 如何将 JSON 文本转换为 PHP 关联数组

    我将以下 JSON 对象存储在文本文件 data txt 中 player black time 0 from 2c to 3d 我使用 php 阅读 问题 有没有简单的方法可以转换 data到 PHP 关联数组 我尝试过使用json de
  • 如何使用 monolog ElasticSearchHandler 登录 Laravel 应用程序

    Monolog 包含弹性搜索处理程序和格式化程序 但它作为自定义通道对 Laravel 的实现并不像 Laravel 文档网站上描述的那么简单 以下是如何执行此操作的简要分步说明 为您的弹性搜索日志记录创建一个配置文件 config ela

随机推荐