优云APM最佳实践: 诊断平安城市视频网性能问题

top.jpg


前言:

平安城市已经是一个关系你我他的民生工程,但由于本身系统的复杂性,给运维工作带来了极大的挑战。如何保障摄像头在线率?如何在系统中找到视频系统故障的问题所在?在我们某一次项目经历中,优云APM在发现问题,定位故障等方面,起了很大作用,帮助我们顺利的定位到了系统的故障所在。

平安城市是一个特大型、综合性非常强的管理系统,不仅需要满足治安管理、城市管理、交通管理、应急指挥等需求,而且还要兼顾灾难事故预警、安全生产监控等方面对图像监控的需求,同时还要考虑报警、门禁等配套系统的集成以及与广播系统的联动。

处于平安城市系统核心地位的视频监控系统,架构复杂。组成系统有成千上万的高清摄像头、数以千计视频系统、数以百计的卡口系统、以及背后复杂的存储和管理系统;同时横跨多种网络,包括4G,以太网,光纤网。摄像头在线率,随时随地迅速调取视频,就是整个视频系统成效的关键指标。

最近接到客户反馈,视频网看起来挺正常,监控看到摄像头在线率也挺好,各个市级子系统检测结果都挺正常,但就是打开视频很慢。接到情况,优云马上组织了技术人员前往。

>>>>业务请求跟踪,什么慢?

在初步了解后,我们对视频应用平台整体结构进行了梳理,整个应用平台分成两个层次,省级和各个市级,多达十几个子系统,这里我们介绍一下主要的架构,并且选定关键路径侦听镜像。

1.jpg

通过安装部署优云APM,跟踪观察省级SIP信令,横向综合比较请求多维度信息。我们发现成功率和响应时间与请求量存在明显的关系,当请求量上升时,系统成功率大幅下降,而响应时间大幅上升。省级SIP请求次数与成功率、响应时间的变化关系如下图所示:

2.jpg

>>>>单次业务链跟踪,哪里慢?

在发现了请求响应迟缓之后,我们进一步用优云APM单笔跟踪功能,跟踪单一次SIP请求过程,发现大量的错误和时延,确定最终错误根源在某市级SIP服务器,即省级向市级发起SIP调用过程,市级返回错误,调用失败。

3.jpg

从一次摄像头视频请求的过程来看,从省级发起视频请求,到返回,市级SIP服务器响应时间过长。

>>>> 模拟分析,为什么慢?

到目前为止,问题基本上锁定在市级的SIP服务器一端。我们对市级的两万多摄像头巡检。发现成功率4.4%,有返回,但是错误返回9.6%,无返回超时86%。

从市级SIP服务器指令监控结果来看,同样发现成功率和响应时间与请求量存在明显的关系,当请求量上升时,系统成功率大幅下降,同时响应时间大幅上升。甚至有到1分钟以上。

4.jpg

是什么原因导致了市级的服务器在处理连续请求,仅仅响应了部分请求之后就连续报出错误信息?我们分析了市级SIP服务器的每次响应的时间和状态关系,最终发现高并发的情况下SIP服务器没有正确结束请求,释放资源,导致不能继续处理后续的请求。

事情终于有了一个结果,但对运维探索却才刚刚开始。由于一般客户的视频系统大量的采用了虚拟化,云化系统建设,使得传统运维,定点监测的方案在当前的系统架构下已经不能完全胜任。运维如何跟上业务系统的敏捷开发的脚步?得益于优云前瞻的运维方案,快速的、敏捷的,动态跟踪用户的软件架构,有效的帮助定位和解决问题。

作者:刘成穆

·优云软件资深架构师

·         10多年IT运维管理软件的研发经验

·         主要从事应用性能管理的研究和开发工作

优云:秉承devops的理念,从监控、到应用体验,到自动化持续交付,全栈运维服务平台。

“ 活动期:现到2016年12月31日前使用优云产品全免费,欢迎详询:https://uyun.cn

更多运维技术文章请关注优云官方微信(broada_ops)

优云公众号二维码(250250).jpg

原创文章,作者:uyunops,如若转载,请注明出处:http://www.178linux.com/28839

(0)
上一篇 2016-08-05 16:15
下一篇 2016-08-05 16:16

相关推荐

  • bash脚本之练习

    1、编写服务脚本/root/bin/testsrv.sh,完成如下要求  (1) 脚本可接受参数:start, stop, restart, status  (2) 如果参数非此四者之一,提示使用格式后报错退出 (3) 如是start:则创建/var/lock/subsys/SCRIPTNAME, 并显示“启动成功” 考虑:如果事先已经启…

    Linux干货 2016-08-24
  • 管理systemd

    管理systemd 一、systemd介绍 回顾一下centos的启动流程  POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/init 在…

    Linux干货 2016-09-22
  • Linux 基础 (1)

    su nano shell type hash alias date cal screen echo $ tab (df bc rz(sz) ifconfig ping tty who whoami w) 1.用户  root为超级用户 1) useradd oracle  创建一个oracle用户     su &#…

    2017-07-13
  • linux 权限相关知识

    linux day 6     用户、组和权限 1.Linux用户:Username/UID         管理员:root, 0         普通用户:1-65535             …

    Linux干货 2016-08-08
  • Linux权限管理与grep命令应用(第四周)

    第四周作业 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ch…

    Linux干货 2016-09-15
  • 一起学DNS系列(十五)DNS查询工具之NSLOOKUP的使用

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/259092    上一节里我们讨论了有关DIG工具的用法,本节将对windows下nslookup工具的一些主要命令进行描述。  …

    2015-03-17