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

平安城市已经是一个关系你我他的民生工程,但由于本身系统的复杂性,给运维工作带来了极大的挑战。如何保障摄像头在线率?如何在系统中找到视频系统故障的问题所在?在我们某一次项目经历中,APM在发现问题,定位故障等方面,起了很大作用,帮助我们顺利的定位到了系统的故障所在。
平安城市是一个特大型、综合性非常强的管理系统,不仅需要满足治安管理、城市管理、交通管理、应急指挥等需求,而且还要兼顾灾难事故预警、安全生产监控等方面对图像监控的需求,同时还要考虑报警、门禁等配套系统的集成以及与广播系统的联动。
处于平安城市系统核心地位的视频监控系统,架构复杂。组成系统有成千上万的高清摄像头、数以千计视频系统、数以百计的卡口系统、以及背后复杂的存储和管理系统;同时横跨多种网络,包括4G,以太网,光纤网。摄像头在线率,随时随地迅速调取视频,就是整个视频系统成效的关键指标。
最近接到客户反馈,视频网看起来挺正常,监控看到摄像头在线率也挺好,各个市级子系统检测结果都挺正常,但就是打开视频很慢。接到情况,优云马上组织了技术人员前往。
>>>>业务请求跟踪,什么慢?
在初步了解后,我们对视频应用平台整体结构进行了梳理,整个应用平台分成两个层次,省级和各个市级,多达十几个个子系统,这里我们介绍一下主要的架构,并且选定关键路径侦听镜像。

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

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

从一次摄像头视频请求的过程来看,从省级发起视频请求,到返回,市级SIP服务器响应时间过长。
>>>> 模拟分析,为什么慢?
到目前为止,问题基本上锁定在市级的SIP服务器一端。我们对市级的两万多摄像头巡检。发现成功率4.4%,有返回,但是错误返回9.6%,无返回超时86%。
从市级SIP服务器指令监控结果来看,同样发现成功率和响应时间与请求量存在明显的关系,当请求量上升时,系统成功率大幅下降,同时响应时间大幅上升。甚至有到1分钟以上。

是什么原因导致了市级的服务器在处理连续请求,仅仅响应了部分请求之后就连续报出错误信息?我们分析了市级SIP服务器的每次响应的时间和状态关系,最终发现高并发的情况下SIP服务器没有正确结束请求,释放资源,导致不能继续处理后续的请求。
事情终于有了一个结果,但对运维探索却才刚刚开始。由于一般客户的视频系统大量的采用了虚拟化,云化系统建设,使得传统运维,定点监测的方案在当前的系统架构下已经不能完全胜任。运维如何跟上业务系统的敏捷开发的脚步?得益于优云前瞻的运维方案,快速的、敏捷的,动态跟踪用户的软件架构,有效的帮助定位和解决问题。
作者:刘成穆 就职优云软件资深架构师
APM最佳实践: 诊断平安城市视频网性能问题的更多相关文章
- Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|
内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...
- .Net最佳实践3:使用性能计数器收集性能数据
本文值得阅读吗? 本文讨论我们如何使用性能计数器从应用程序收集数据.我们将先了解的基本知识,然后我们将看到一个简单的示例,我们将从中收集一些性能数据. 介绍: - 我的应用程序的性能是最好的,像火箭 ...
- 经典的性能优化最佳实践 web性能权威指南 读书笔记
web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...
- 2018亚太CDN峰会开幕, 阿里云王海华解读云+端+AI的短视频最佳实践
4月11-12日,2018亚太CDN峰会在北京隆重召开,在11日下午的短视频论坛中,阿里云高级技术专家王海华进行了<短视频最佳实践:云+端+AI>的主题演讲,分享了短视频的生命周期关键点和 ...
- 《开源安全运维平台OSSIM最佳实践》
<开源安全运维平台OSSIM最佳实践> 经多年潜心研究开源技术,历时三年创作的<开源安全运维平台OSSIM最佳实践>一书即将出版.该书用80多万字记录了,作者10多年的IT行业 ...
- MongoDB最佳实践中文手册
背景:查阅了一下MongoDB的相关文档,发现中文文档还是比较少的,工作中需要用到MongoDB,而这本<MongoDB最佳实践>是很好的选择,所以就把这本手册翻译了一下,其中生涩的专业用 ...
- fir.im Weekly - 2016 年 Android 最佳实践列表
2016 年已经过去一半,你在年初制定的成长计划都实现了吗? 学海无涯,技术成长不是一簇而就的事情.本期 fir.im Weekly 推荐 王下邀月熊_Chevalier的 我的编程之路--知识管理与 ...
- 基于开源软件在Azure平台建立大规模系统的最佳实践
作者 王枫 发布于2014年5月28日 前言 Microsoft Azure 是微软公有云的唯一解决方案.借助这一平台,用户可以以多种方式部署和发布自己的应用. 这是一个开放的平台,除了对于Windo ...
- Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性
多种Windows Azure服务可以帮助您将应用程序安全性扩展到云. 有三种服务可提供多个提供程序之间的身份标识映射.内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处). ...
随机推荐
- luasql在Fedora20下的安装与使用示例
主要参考:http://www.boll.me/archives/614 luasql安装, 在终端通过yum命令安装: yum -y install lua-sql 接下来写个测试的lua脚本文件( ...
- why pure virtual function has definition 为什么可以在基类中实现纯虚函数
看了会音频,无意搜到一个frameworks/base/include/utils/Flattenable.h : virtual ~Flattenable() = 0; 所以查了下“纯虚函数定义实现 ...
- javaScript实现归并排序
归并排序是一个O(nlogn)的算法,其基本思想就是一个分治的策略,先进行划分,然后再进行合并,下面举个例子.有这样一组数据: {5,4,1,22,12,32,45,21} 如果对它进行归并排序的话, ...
- 新机器,分区为NTFS, 安装 Windows XP、Windows Server 2003 时蓝屏问题,修改为 FAT32 即可
现象:安装刚刚开始就会蓝屏:Ghost版本的也无法正常开机. 原因:硬盘引起,通常是主板的RAID.或STAT的设置引起????? 最直接的原因是安装所在的分区的文件系统格式不正确,为NTFS 解决: ...
- Unity3D面试——真实的面试,unity3d面试
本来想写一个系列的,一半是抨击现在面试之水,要人之奸,用大哥的话说,要走新手是做螺丝钉和抹布用的.另一半是对出出学校的或者是自废武功转3d的朋友们提供一个比较有价值的参考.不过我时间实在仓促.没有保证 ...
- 更改VS2010的[默认开发语言]
1.菜单-->"工具"-->"导入导出设置".例如以下图: 2.选择"重置全部设置",例如以下图: 3.重置设置,例如以下图: ...
- ios 在https情况下,使用webview加载url出错的解决方法 ios9 适配问题
修改info.plist文件,添加App Transport Security Settings,然后在这个里面添加Allow Arbitrary Loads,改为yes 如下图:
- 实现Runnable接口和继承Thread类区别
如果一个类继承Thread,则不适合资源共享.但是如果实现了Runable接口的话,则很容易的实现资源共享. 实现Runnable接口比继承Thread类所具有的优势: 1):适合多个相同的程序代码的 ...
- Lua脚本和C++交互(二)
上一节讲了一些基本的Lua应用,下面,我要强调一下,Lua的栈的一些概念,因为这个确实很重要,你会经常用到.熟练使用Lua,最重要的就是要时刻知道什么时候栈里面的数据是什么顺序,都是什么.如果你能熟练 ...
- 演示PostgreSQL的详细安装及配置图解
右击文件选择以管理员身份运行 2 开始执行程序的安装 3 设置安装目录 4 设置数据的保存目录 5 设置数据库管理员密码,请牢记此密码. 6 设置端口号,选择默认的端口号即可 7 根据自己选择设置地区 ...