设为首页 收藏本站
查看: 393|回复: 0

[经验分享] [原创]Apache Rewrite对apache性能影响的测试

[复制链接]

尚未签到

发表于 2017-1-1 08:21:59 | 显示全部楼层 |阅读模式
  
Apache Rewrite对apache性能影响的测试
  
[ Apache rewrite规则 ]

  Apache中这个rewrite规则能把http://localhost/heiyeluren/readme.txt 重写到 D:\kiss\wwwroot\h\e\i\heiyeluren\readme.txt
  修改httpd.conf,增加:
RewriteEngineOn
RewriteRule^/(
[0-9a-z])([0-9a-z])([0-9a-z])([0-9a-z]+)/(.*)/$1/$2/$3/$1$2$3$4/$5[L]

  [ 性能测试 ]
  使用 http_load 来进行页面访问测试 (下载http_load: http://www.acme.com/software/http_load/)
命令格式:http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件

准备URL文件:tst.list,文件格式是每行一个URL,URL最好超过50个测试效果比较好,另外,测试结果中我们主要是关心 fetches/sec 这个选项,这个我们称之为QPS,大致就是一台服务器每秒能够相应的查询次数,下面看到的测试结果中的 xxxx fetches/sec 就是每秒能够相应的查询次数,用这个来衡量性能。
PS:http_load 比 apache自带的 ab 要强不少,准确率也要高。
  
有rewrite,访问rewrite之后的URL
http_load -p 30 -s 60 tst.list
^[c137829 fetches, 26 max parallel, 275658 bytes, in 60.0003 seconds
2 mean bytes/connection
2297.14 fetches/sec, 4594.28 bytes/sec
msecs/connect: 0.0604275 mean, 11.447 max, 0.021 min
msecs/first-response: 2.70699 mean, 1190.06 max, 0.305 min


  
有rewrite,直接访问rewrite之前的URL

http_load-p30-s60tst2.list
148477fetches,30maxparallel,296954bytes,in60seconds
2meanbytes/connection
2474.62fetches/sec,4949.23bytes/sec
msecs/connect:
0.058889mean,8.447max,0.02min
msecs/first-response:
2.52814mean,1324.63max,0.298min

  
无rewrite,直接访问rewrite之前的URL

http_load-p30-s60tst2.list
151920fetches,29maxparallel,303840bytes,in60seconds
2meanbytes/connection
2532fetches/sec,5064bytes/sec
msecs/connect:
0.0608508mean,153.375max,0.02min
msecs/first-response:
2.35597mean,1091.58max,0.259min

  有rewrite,但通过proxy实现
http_load-p30-s60tst.list
58586fetches,30maxparallel,117172bytes,in60.001seconds
2meanbytes/connection
976.417fetches/sec,1952.83bytes/sec
msecs/connect:
0.0769494mean,100.978max,0.022min
msecs/first-response:
8.93129mean,1190.54max,0.871min

  
[ 结论 ]

  • apache的rewrite会产生微小的cpu开销,导致一些性能损失,但这个损失并不特别明显,所以不要害怕rewrite,当然规则太多性能可能也会有影响,所以尽量不要太多规则
  • proxy很慢,且存在安全隐患(SSL是不支持proxy的),带[P]的rewriterule就是proxy。因此,除非万不得已(比如客户端js跨域),应尽量避免使用proxy。
  • proxy不是apache的专长,如果为了反向代理加速,squid通常是一个更合适的选择。
  
PS:最后感谢同事健祥同学提供测试结果和相应说明,我只是进行了一些文字优化。:-)
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322188-1-1.html 上篇帖子: org.apache.log4j.Logger详解 下篇帖子: Apache Rewrite对apache性能影响的测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表