Zend framework 性能、Zend路由与Apache mod_重写

Zend framework 性能、Zend路由与Apache mod_重写,zend-framework,mod-rewrite,zend-route,Zend Framework,Mod Rewrite,Zend Route,与Zend路由器相比,mod_重写的速度有多快?是否应该放弃使用Zend Router,使用mod_rewrite对apache虚拟主机定义中的重写规则进行同样的操作 差异是否非常显著 我听到很多人说mod_rewrite导致了一些高流量网站崩溃,我想知道在使用ZF开发时是否应该关注这一点。这里有一个提示:看看C和Php(LAMP环境)之间的性能 完成了吗 如果我没记错的话,C通常比Php字节码快35到40倍 所以想象一下Apache有自己的mod\u rewrite mod_rewrite是

与Zend路由器相比,mod_重写的速度有多快?是否应该放弃使用Zend Router,使用mod_rewrite对apache虚拟主机定义中的重写规则进行同样的操作

差异是否非常显著


我听到很多人说mod_rewrite导致了一些高流量网站崩溃,我想知道在使用ZF开发时是否应该关注这一点。这里有一个提示:看看C和Php(LAMP环境)之间的性能

完成了吗

如果我没记错的话,C通常比Php字节码快35到40倍

所以想象一下Apache有自己的
mod\u rewrite

mod_rewrite
是100%Gnu C(如果我错了,请纠正我),并调用同样是100%C的PCRE

知道Regexp是预编译的,嗯,呃。。。我可以再往前走吗

无意冒犯,但知道这一点,你很快就会猜到你最好尝试使用重写规则。如果您考虑得好,您可以明智地混合重写规则,以获得非常快的HTTP服务器


希望这有帮助,这里有一个提示:看看C和Php(LAMP环境)之间的性能

完成了吗

如果我没记错的话,C通常比Php字节码快35到40倍

所以想象一下Apache有自己的
mod\u rewrite

mod_rewrite
是100%Gnu C(如果我错了,请纠正我),并调用同样是100%C的PCRE

知道Regexp是预编译的,嗯,呃。。。我可以再往前走吗

无意冒犯,但知道这一点,你很快就会猜到你最好尝试使用重写规则。如果您考虑得好,您可以明智地混合重写规则,以获得非常快的HTTP服务器


希望这能有所帮助

我觉得你正在走向过早的优化。虽然仅使用mod_rewrite的路由可能比mod_rewrite+ZF路由稍微快一点,但在可维护性和灵活性方面牺牲1-2ms的速度(可能更少)真的值得吗?如果你有一个应用程序(通过标杆管理)知道路由是你的瓶颈,并且你已经用尽了所有的标准解决方案来解决这个问题,你只应该考虑这样的一个行动过程。
至于mod_rewrite本身,我见过它崩溃的网站,但只有当规则写得不好时(导致它多次重写相同的请求)。如果您只是使用ZF的默认规则,只需将所有请求重写为一个PHP文件,那么这并不是您真正需要关心的问题。

我觉得您正在走向过早优化。虽然仅使用mod_rewrite的路由可能比mod_rewrite+ZF路由稍微快一点,但在可维护性和灵活性方面牺牲1-2ms的速度(可能更少)真的值得吗?如果你有一个应用程序(通过标杆管理)知道路由是你的瓶颈,并且你已经用尽了所有的标准解决方案来解决这个问题,你只应该考虑这样的一个行动过程。
至于mod_rewrite本身,我见过它崩溃的网站,但只有当规则写得不好时(导致它多次重写相同的请求)。如果您只是使用ZF的默认规则,只需将所有请求重写为一个PHP文件,那么您就不必担心这一点。

+1,完全同意。我只想补充一点,遗憾的是,编写糟糕的重写规则非常容易,rewriteMap是一个很好的工具,同时还必须关注重写日志的输出(阅读文档)。谢谢Olivier,但我不得不稍微表示不同意,为什么?这可能不是C在任何情况下都比PHP快35到40倍的情况,在这种情况下,因为您必须无论如何运行PHP,服务器将不得不加载PHP并用它做其他事情,如果我们谈论的是在真空中重写,而不是重写,那么您可能是正确的,但由于这是php解决方案的一部分,其他人提到的区别应该是最小的,至少在开发服务器上不会有很大的区别,我希望我们能有一个好的答案。但无论如何,我希望我们也能有数字,因为我非常确定执行重写规则,无论是否加载Php,总是比Php代码快。我自己的结果给了我35-40%的速度(我当时在分析
$\u服务器['HTTP\u主机]]
并据此采取行动,现在我确实使用了大量的重写规则来做同样的事情,而且速度快得要命)。+1,完全同意。我只想补充一点,遗憾的是,编写糟糕的重写规则非常容易,rewriteMap是一个很好的工具,同时还必须关注重写日志的输出(阅读文档)。谢谢Olivier,但我不得不稍微表示不同意,为什么?这可能不是C在任何情况下都比PHP快35到40倍的情况,在这种情况下,因为您必须无论如何运行PHP,服务器将不得不加载PHP并用它做其他事情,如果我们谈论的是在真空中重写,而不是重写,那么您可能是正确的,但由于这是php解决方案的一部分,其他人提到的区别应该是最小的,至少在开发服务器上不会有很大的区别,我希望我们能有一个好的答案。但无论如何,我希望我们也能有数字,因为我非常确定执行重写规则,无论是否加载Php,总是比Php代码快。我自己的结果给了我35-40%的速度(我当时在分析
$\u SERVER['HTTP\u HOST']
并据此采取行动,现在我确实使用了大量的重写规则来做同样的事情,而且速度要快得多)。我认为这个评论更复杂,过早优化是邪恶的。我认为这个评论更复杂,过早优化是邪恶的。