Apache RewriteRule的性能是否取决于请求大小?

时间:2014-05-13 15:38:11

标签: apache mod-rewrite apache2

我有一个非常简单的问题: Apache RewriteRule的时间成本是否依赖于请求内容? 或者它是不变的,无论请求大小(内容)是什么?

我需要对基于云的应用程序的请求进行非常快速的管理,并且我的一些重写规则“很高兴”,比如将HTTP重定向到HTTPS(我可以简单地在HTTP上返回404)。我认为重写规则的成本大约是几毫秒,但如果我上传一个非常大的文件,它仍然是真的吗?也许Apache在重写和转发请求之前在本地转储请求内容,这可能会花费很多......

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

如果apache正在处理重写规则,则内容大小对其没有影响。对于例如如果您上传50 MB大小的文件,重写规则将不会处理文件本身。它只是网址或部分内容。

但重要的是重写规则的效率。

高效我的意思是

1。您使用的正则表达式是什么。并非所有正则表达式都表现相同。毕竟他们还处理一些字符串匹配逻辑。如果你能用一个更快的表达式获得相同的结果。

2. 在应用某个规则之前,会检查多少次重写规则,并且可以减少评估的规则数量。您可以通过打开mod_rewite的日志记录来找到它。基于此,您可以改进规则。记住“L flag”是你的朋友。有关如何使用,请参阅apache文档。

3。精心策划的重写规则也会减少规则,从而降低处理成本。

另一件可以发挥作用的是网址的大小。但这可能不在您的掌控之中。

我希望它有所帮助:)