免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: aaaaaa

[proxy] Apache Traffic Server 3.2.0 正式版,附srpm包 [复制链接]

论坛徽章:
0
发表于 2011-03-20 10:32 |显示全部楼层
这个stack trace貌似其他人没碰到过,如果还有Seg Fault, 还请协助尽量帮忙定位一下。

v2.1.7明后天发布,对性能有些提升。

你的情况下,1.5G内存是否少了?根据计算默认配置TS需要大约300-500M内存,其他内存基本都可以分配给RAM Cache。你可以根据系统的内存使用情况来找到一个安全值

论坛徽章:
0
发表于 2011-03-28 10:31 |显示全部楼层
回复 21# aaaaaa

   
CU改版,版面都找不到了...

从我测试的情况下,ts除ram缓存外用的内存不止500M。刚编译了2.1.7,设1.8G的ram缓存,半小时ts总内存就达到2701m了,还在不断增长。ram缓存再设大的话,很容易总内存到3G然后挂了。32位系统,没办法。

另外发现新版貌似有两块磁盘io分配不均的现象,缓存大小设的是一样的,但是io利用率差别比较大,之前没有这种情况。

之前的Segmentation 是在url_host_set 函数里,不知道和remap.config设置有没关系:
regex_map http://(.+[0-9]$) http://$1 @action=deny
regex_map http://([0-9a-zA-Z\.\-]+) http://$1

论坛徽章:
0
发表于 2011-03-28 18:25 |显示全部楼层
回复 1# aaaaaa


    hi,现在在配置parent的时候出现问题了
records.config开启了parent_proxy
repmap.config
  1. #
  2. regex_map http://[a-z0-9].+.rhinux.cn:8080/  http://172.16.27.55
  3. regex_reverse_map http://172.16.27.55  http://[a-z0-9].+.rhinux.cn:8080/
复制代码
parent.config
  1. dest_domain=.  parent="172.16.27.87:80"
复制代码
87是一台开启80端口的trafficserver,配置除了端口,已经是否开启parent_proxy之外和子节点相同。

目前的情况访问请求http://abc.rhinux.cn:8080/a.html 也就是子节点的时候,没有任何反应,日志里记录是
  1. 1301304861.909 30086 172.16.27.89 ERR_CLIENT_ABORT/000 0 GET http://172.16.27.55/a.htm - EMPTY/- - -
复制代码
上面有设置问题吗?
开启debug后看到的错误
  1. [Mar 28 17:01:17.022] Server {34393309632} DEBUG: (dns) DNS error 2 for [55.27.16.172.in-addr.arpa]
  2. [Mar 28 17:01:35.021] Server {34393309632} DEBUG: (dns) DNS error 2 for [55.27.16.172.in-addr.arpa]
  3. [Mar 28 17:01:53.021] Server {34393309632} DEBUG: (dns) DNS error 2 for [55.27.16.172.in-addr.arpa]
  4. 以下是将172.16.27.55 换成域名
  5. [Mar 28 17:13:49.837] Server {34393309632} DEBUG: (dns) DNS error 3 for [jailv55.rhinux-inc.com]
  6. [Mar 28 17:26:57.523] Server {34393309632} DEBUG: (dns) DNS error 3 for [jailv55.rhinux-inc.com]
复制代码
所有涉及域名的设置都设置在hosts中,源服务器,子节点,父节点的hosts都相同

论坛徽章:
0
发表于 2011-03-28 18:26 |显示全部楼层
补充一点我用的是freebsd8.2+ts2.1.6

论坛徽章:
0
发表于 2011-03-28 21:11 |显示全部楼层
回复 22# xiaxueyi


    好像的确是读写分配有问题唉。2.1.7有些改动涉及到底层的分配等,我会尽快跟大家一起debug这个问题。

论坛徽章:
0
发表于 2011-03-28 21:27 |显示全部楼层
本帖最后由 aaaaaa 于 2011-03-28 22:37 编辑

回复 23# rhinux


    关于parent的用法,主要是用作map规则完成后取内容的服务器映射。我觉得你的问题还在于如何使用remap和parent的关系。
  通常的用法是:
子TS服务器:
remap.config:
map regex_map http://[a-z0-9].+.rhinux.cn:8080/  http://myownhost.myonwdomain

parent.config:
dest_domain=myownhost.myonwdomain  parent="172.16.27.87:80"

父TS服务器:
remap.config:
http://myownhost.myonwdomain/ http://172.16.27.55

这样的话,子TS将所有的url都映射到http://myownhost.myonwdomain/XXXX,然后从父TS里取这个内容。父TS根据remap直接从172.16.27.55取。其关系是,子TS在取父TS的内容前已经做完了该做的remap转换。你需要考虑到这点。
看看是不是你需要的?

另外:
proxy.config.url_remap.pristine_host_hdr 这个参数默认是1,即remap规则只是起到制定ip地址的转换作用。如果设置为0,则可以进行url的转换。灵活运用这个参数和remap的配合,将可以很好的解决所有的需求。

TS目前不采用标准的/etc/hosts文件,除非你使用了特别的dns解析库。

论坛徽章:
0
发表于 2011-03-28 22:50 |显示全部楼层
本帖最后由 rhinux 于 2011-03-28 23:09 编辑

回复 26# aaaaaa


    感谢回复,
以下日志是上周测试的时候的

子TS日志
  1. 1300951004.057 11 172.16.27.89 TCP_MISS/404 421 GET http://172.16.27.55/get/pathjpg/Autumn.jpg - PARENT_HIT/172.16.27.87 text/html -
复制代码
父TS日志
  1. 1300948204.924 0 172.16.27.88 ERR_CONNECT_FAIL/404 413 GET http://172.16.27.55/get/myjpg/Azul.jpg - NONE/- text/html -
复制代码
但今天在测试的时候发现我子TS上的包根本就没发往父TS
只有子TS的日志
  1. 1301315542.327 28693 172.16.27.89 ERR_CLIENT_ABORT/000 0 GET http://172.16.27.55/a.htm - EMPTY/- - -
复制代码
(另外按你的配置,理论上好像如果父TS down了  子TS无法直接将请求发往源服务器(27.55))


在手册里也没看到作为子TS的remap.config应该如何配置,目前我的认识停留在 子TS相比父TS只是开启parent_proxy和增加parent.config的区别。理论上应该够了,子TS先匹配自己的remap,因为开启了parent_proxy所以再看parent.config,匹配到一条规则,将请求转给parent.config指定的父TS(这个过程应该有程序完成host转换啥的吧)

论坛徽章:
0
发表于 2011-03-29 10:58 |显示全部楼层
已经搞定了,子TS不发包是端口hang住了,做了一件丢人的事情,重启了机器,
至于我的质疑说父TS挂了切换到original服务器,我在parent.config配置中吧original服务器也加在parent list中了,呵呵。谢谢楼主的回答

论坛徽章:
0
发表于 2011-03-29 11:59 |显示全部楼层
回复 26# aaaaaa


    说到TS的map和不支持hosts文件,我不太能理解。貌似外国人做CDN都喜欢取源使用的host和公开的host不一样,那设想一下大一点的cache系统,第一层memcache,第二层同机房硬盘cache,第三层多线机房,然后才到真实源,那光做map就得累死。  

昨天测试2.1.7,跑了一晚上,TS挂了n多次,大部分都是内存跑到3G挂了,还出现了上次 url_host_set memcpy错误,还出现了一次


  1. NOTE: Traffic Server received Sig 11: Segmentation fault
  2. /usr/local/ts/bin/traffic_server - STACK TRACE:
  3. [0x4001c420]
  4. /usr/local/ts/bin/traffic_server(_ZN8DNSEntry4postEP10DNSHandlerP7HostEntb+0x5d5)[0x82503e5]
  5. [0x0]
  6. /usr/local/ts/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x1ff)[0x8320e9f]
  7. /usr/local/ts/bin/traffic_server(_ZN7EThread7executeEv+0x4be)[0x83216be]
  8. /usr/local/ts/bin/traffic_server(main+0x1245)[0x8104505]
  9. /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0x40444450]
  10. /usr/local/ts/bin/traffic_server[0x80bdec1]
  11. /usr/local/ts/bin/traffic_server[0x80bdec1]
复制代码




这时内存总体使用还是安全的,不是内存耗尽的原因。还好Ts重启比较快,不需要像squid那样重建缓存索引,不然不敢在生产中用了。

总结一下我测试下来的问题:
1.    容易core掉
2.    感觉内存有泄漏,设了1.5G的ram cache,总内存使用很容易达到3G
3.    2.1.7 磁盘IO分配不均

希望能早日测试新版,谢谢!

论坛徽章:
0
发表于 2011-03-29 22:51 |显示全部楼层
你这个core的问题和IO不均衡的问题已经开了bug。
内存的问题需要长期的项目去解决,我希望是一个自动优化机制,来替代目前的固定大小,因为TS和操作系统都会由于系统负载的不同而使用不同的内存,并且可能活动幅度比较大,从道理上讲,制定一个安全的保留空间给TS,其他都用上应该是一个很好的方式。我希望这个问题照这个方向解决。

如有其他crash的问题,还希望你能够即时贴上来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP