我已经看到 DooPHP 是世界上最快的 MVC 框架,我打算将其用于构建能够处理超过 100,000 个并发用户的关键任务网站。
我必须在共享主机上从头开始构建我的网站,并在使用 Apache 2.0.x 和 PHP 5.2.14 和 MySQL 的 VPS 上运行 CPanel。性能方面,在编码 PDO(访问数据库)+PHP 与 DooPHP 时会产生很大的不同吗?
从技术上讲,不使用框架应该总是更快,因为你只是为你需要的东西编写代码。
这是假设您精通 PHP,并且知道如何编写好的代码。
框架将减少开发时间。
如果性能是一个关键问题,请查看缓存操作码、服务器端缓存、遥远的过期标头、CSS spriting 等(有很多)。
你问了一个大问题,哲学上的答案是没有两个环境是相同的,也没有两组需求或工具包是相同的。这里的“最快”反映的是开发时间,而不是性能。这些问题必须通过基准测试来回答。
答:在程序完成之前不要犯优化的罪过。
答案#2:但在进行过程中要注意性能。
暂时忽略工具包,只看 PHP 和机器。您可以做的最好的事情是优化服务器,然后注意休息。在该服务器级别上,我将在这里仅讨论缓存和内存占用 - 并显示 PHP 环境之前/之后的测量趋势。
使用操作码缓存的一个有趣的副作用是更小的内存占用。这反过来又使您能够向上扩展。机器虽然受到重创,但有更多内存来处理瞬时请求,并且有更多时间从交换借用中恢复。
下面的这张图有点令人困惑(和剪裁),但它显示的是未优化与优化的内存占用。最低的边缘是优化后的内存占用。
长轴是一种抽象类型的页面(主页 vs 帖子 vs 页面 vs 等等),从常见、简单到复杂。另一个轴是缓存关闭,没有操作码缓存到缓存,操作码缓存打开。
这说明您可以通过重新编译 PHP/Apache 以单独使用操作码缓存来做出很大的改进。这可能是用最少的努力获得的最大优化收益,并且您不必知道您在工具包中使用模板语言,该工具包作为 C 的运行时替代品运行,这是对机器代码的编译增强。(在这里插入更多令人毛骨悚然的书呆子......)
经过这种特殊优化后,机器能够承受更多的突发流量(从每小时 200 个请求轻松增加到 700 个)。
祝你好运。
就性能而言,DooPhp 无疑是最快的 php 框架之一。除非您的网站具有令人难以置信的基本功能,否则您应该忘记使用没有任何框架的直接 php。
如果您的网站甚至超出了您创建运行代码所需的基本功能,那么就实用性和速度而言,它不太可能像 DooPhp 这样的框架那样经过深思熟虑。
Apache 和 Cpanel 从一开始就可能不必要地减慢速度。MySql 或任何 DB 最终都会成为瓶颈,尤其是在 ORM 方面。
如何从您的盒子中获得更好的性能: