2011-06-14 74 views
2

我在返工我工作的公司是如何发展网站的过程。在旧的方式,经常有几个重复的PHP文件被调用来渲染一个页面。 例如page1.php?id = 5,page2.php?id = 7其中page1.php和page2.php在大多数情况下只是相同代码的副本。这种重复是因为试图支持和保持与传统框架的兼容性而产生的。衡量业绩的影响,URI路由

新的建议,本质上是一个干净的重写,虽然使用.htaccess中的相同文件路径的所有呼叫成功,mod_rewrite等

我一直在问然而显示,积极或消极影响,这种变化可能有在服务器上。

是否只用一个文件来处理请求降低服务器开销,或者它增加服务器过载的机会,如果大量的人访问某网站的这个方法。是否有任何工具可以衡量出现这种报告的表现差异?

+1

使用.htaccess中指定的重写规则,您可以轻松地每秒执行数百次请求。您可以通过使用像httperf这样的工具在测试前后进行简单的演示。 – 2011-06-14 03:02:46

回答

1

对于性能的影响,你可以做一些简单的基准,可以与Apache社区2个工具:

  • ab,这是很好的基础应力工具
  • httperf
  • 还有autobench这是建立在httperf的基础上,并且在播放一些会话(可以从access.log分析获得的会话)之后会给你一些不错的图表。

对于非常简单的碰撞试验也可以用简单的俏皮话像这样的(改变真正的网站名称和IP,需要netcat的):

time printf 'GET/HTTP/1.1\nHost:www.google.com\n\n' | nc -w 10 -q 10 209.85.146.103 80 1>/dev/null 

国防部重写不会得到了很大的影响,但你应该:-)测试它。如果你有很多的URL重写国防部重写有一个很好的工具:rewriteMap。你会写你的URL映射到外部文件中,而当事情会好起来,你甚至可以建立这个地图文件的凑版本,所以你会得到每个URL的灰化索引访问,这应该是闪电快。

0

如果你把规则在主要配置,而不是在一个.htaccess文件,你会尽量减少重写将有服务器的性能影响。

除非你有一些复杂的重写规则,使用重写将增加开销,甚至可能不是在基准明显。