如何在Cloudfoundry中定位应用程序的慢请求?

运行在Cloudfoundry中的Apps一般经过如下组件:


在企业环境中,除了Cloudfoundry中原生的HAproxy组件,上一层会添加基础设施负载均衡或者软负载(如AWS的LB,自建的Nginx、自有DC的F5、A10等),无论处于哪种情况,我们可以使用time命令来计算整个请求的大概时间层次,请求的同时使用cf logs appsname查看输出日志,当然,apps中也需要添加相应的日志用于反应出自身处理的实际时长,对比完这些时间后,就可以判断出访问慢的根本原因是在CF外部,还是GoRouter亦或是应用的本身。

下面我们用articulate这个app来模拟判断的步骤:

1.使用time命令来获取整个访问的时间,运行time curl -v https://articulate-cyanic-riempie.cfapps.yourdomain.com -k(如果不带https,取消掉-k参数):


通过上图可以看到real time花费了4秒左右,这是在我开了迅雷占用本机带宽的情况下访问的结果,如你的时间比4秒更长,可能就是你本机网络的原因了。接下来,缩小查找范围,看看在cloud foundry中的请求日志。

2.使用cf logs命令,可以看到从Gorouter到应用的访问响应时间


上图第一个黄色框中代表Gorouter接收到请求的时间和Grouter的vm-id,第二个代表整个请求在Cloudfoundry中的处理时间,为了更清楚的了解在哪一步消耗了大量的时间,可以在应用中添加更详细的日志,推荐的时间轴名称如下:

 i.Gorouter 接收请求

 ii.APP接收请求

iii.APP处理完请求

iv.Gorouter处理完请求

当上述时间存在较大差异时,说明Gorouter和APP之间存在延迟或者网络延迟。

3.为了确认到底是因为Gorouter自身的延迟还是它与应用之间的延迟,可以使用如下两种方式去确认:

i.通过Gorouter代理访问apps

ii.直接访问apps

操作步骤如下:

i.登录到Gorouter所在的Vm


ii.执行

iii.获取app运行在哪台cell上


iv.直接访问host

time curl http://192.168.16.21:61026

如果两种方式返回的时间接近,说明Gorouter和Diego_cell之间有延迟;如果访问Gorouter的时间比直接访问的时间要长很多,说明Gorouter存在问题。

4.Gorouter存在延迟的可能性

i.Gorouter vm loadaverage 过高,导致进来的请求缓慢

ii.APP的处理时间过长,导致Gorouter不断的发送新的请求

5.建议

i.监控Gorouter的cpu 负载,如果cpu负载达到70%以上,Gorouter处理请求的速度会降低,如果cpu 负载持续70%以上,可以增加一台instance.

ii.通过Firehorse监控所有的Gorouter的延迟,注意不要监控延迟的均值,要监控每个Router的独立值

iii.使用基调、OneApm、博睿等监控延迟和在线时间

iv.部署第三方service或者nozzle监控Gorouter的:

  a.cpu使用率

  b.访问延迟

  c.每秒请求数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容