程序通讯过程监控研究

2017-06-01 12:38郑海能叶阿真福富软件福建福州35005福建信息职业技术学院福建福州35005
电子测试 2017年6期
关键词:错误率服务端通讯

郑海能,叶阿真(.福富软件,福建福州,35005;.福建信息职业技术学院,福建福州,35005)

程序通讯过程监控研究

郑海能1,叶阿真2
(1.福富软件,福建福州,350025;2.福建信息职业技术学院,福建福州,350025)

应用程序的通讯过程,由于其处于数据交换的过程中,一旦故障或性能不足,影响范围巨大,所有的应用通讯就会出现问题。因此对程序的通讯过程的实时监控就尤为重要。如何确定监控指标和指标的高效展示也十分重要。本文简单探讨程序的通讯过程的监控指标。

通讯过程;实时监控;吞吐量监控;链路监控

0 引言

大部分的应用系统,都需要和其他的系统实现数据互相交换,接口互相调用的过程。或者提供数据,提供服务,或者使用对方的数据或服务。而最基础的交互过程,就是应用的通讯过程。过程的稳定性和可靠性,是平台稳定可靠的基础。

特别是大数据技术出现后,大量的数据同时涌向一个平台,一个应用程序是在正常不过的事情。因此,如何梳理和有效建立平台或应用程序的通讯指标,尤为重要。

许多通讯程序需要对某些特定的指标进行监控,根据这些指标大致分析通讯程序或服务端性能效率问题或其他网络,负载等问题。比如,每秒的业务交易请求数量。业务交易请求是一个平台所有的终端用户在平台上所有动作组成的活动视图,可以直观的反应用户的活动;服务器响应错误率 ,这个指标是服务器已经多长时间无法接收或者无法处理有效的用户活动请求;请求响应总时长,该指标是服务器或通讯程序处理用户端的交易请求的时长总和。

对通讯过程指标,可以分为以下几大类。

业务规模指标:这类指标一般是静态的业务加载情况,根据业务加载的配置数据,可以进行有效的统计分析。

性能指标:这类指标指平台所承载的业务的交易量tps数据,即每秒所可能发生的交易请求数。

基本活动指标:指整个交易过程中,从连接建立,到通讯,到交易数据处理的过程指标,这类指标一般是通过日志进行后续的分析与汇总。

错误指标:错误指标指的是,业务交易过程中,连接失败,通讯处理失败,交易处理失败的内容。

我们将分析在每个类别中最重要的指标,本文也介绍了如何使用直观的方式来展示,查看监控所描述的指标。

图1 基本活跃指标

1 指标研究

1.1 基本活跃指标

上图显示了客户发起请求是,客户端想服务端发起连接,服务端处理连接请求以及数据接收处理的过程,下文说明如何在此过程中收集基本活动指标。

Accepts接受连接、Handled连接已处理(如建立通道,拒绝连接等)、Requests交易请求数这些是作为计数器存在的,当连接,处理,交易接收等触发时,计数器进行累加。Active活跃状态、Waiting等待状态、Reading读状态、Writing写状态,是状态类型的变量,这些变量会随着请求量的变化而增减。

当通讯程序的服务端进程接收到某个客户端的连接请求时,Accepts接受连接计数器加1,Accepts值表明了当前通讯程序接收到的连接请求数量;而Handled是当前通讯程序服务端实际接收到请求,得到服务端响应的数量,该变量只有在连接真正建立成功时,才进行加1。在服务端资源充足,处理正常的时候这两个变量的值是相等的。如果由于服务器或进程资源的限制,比如已经达到服务端最大的连接数限制,此时handled<=Accepts。当Accepts–handled的差异越大,表明服务端越无法满足用户的请求了。

一旦服务端程序处理某个连接成功时,状态机会转义到活跃Active状态,之后,通讯程序分配其他的进程来处理客户端的请求。活跃状态的内部,又可以分为等待,读数据,写数据等若干状态。

当请求处理完成后状态机完成写数据的状态后,Accepts接受连接计数器,Handled连接已处理计数器各减1,回到上一次的状态。

1.2 失败连接数指标

失败的连接数等于接受和处理之间的差异。当Accepts-Handled=0时,表明服务端运行正常。如果单位时间内,失败连接速率开始增加并且持续上升,则表明,服务端无法完全响应客户端处理请求了,应该检查资源是否饱和。

1.3 每秒的请求数指标

以定期间隔抽样请求数据可提供每单位时间(通常是分钟或秒)接收的请求数量的数据。监视此指标以查看服务端的流量峰值(无论是合法还是恶意),还是突然下降(通常表明存在问题)。每秒请求数量的急剧变化可以告警环境中的问题,即使它不能准确地告诉您问题出在哪里。

1.4 请求处理时间指标

请求处理时间指标记录了网关平台处理每个请求的时间,从读到客户端的第一个请求字节到完成请求。

平台需要记录的四个时间点。

a)收到请求的时间

b)发送请求的时间

c)收到应答的时间

d)发送应答的时间

其中平台的处理时长=(收到请求的时间-发送请求的时间)+(收到应答的时间-发送应答的时间 )

1.5 链路健康指标

展示服务端协议的链路业务运行情况(类似消息队列),展示当前链路总共多少连接(线程)、多少连接(线程)在用、剩余多少连接(线程)待用;每个连接(线程)多少队列,用了多少,剩余多少待用。

2 指标展示

2.1 展示活跃指标

服务端需要直观的展示各个活跃度指标。可以通过web页面或者其他方式展示,以用于分析、可视化、或提醒。这些指标至少需要指标名称,指标状态,与上个周期的变化百分比,正异常差异绝对值等。

2.2 错误指标

错误指标告诉你服务器是否经常返回错误而不是正常工作。客户端错误返回4XX状态码,服务端错误返回5XX状态码。

名称描述指标类型可用于4xx 代码客户端错误计数工作:错误日志5xx 代码服务器端错误计数工作:错误日志

2.3 服务端错误率指标

服务端数据处理的错误率,极大的影响了用户的使用感受,因此需要特别关注。服务端错误率等于单位时间内某个类型的错误码总数除以状态码的总数的百分比。如上表4xx错误率= count(4xx错误)/count(4xx错误)+count(5xx错误)。

当错误率指标持续攀升时,需要立即检查服务端的应用。因为此时,用户已经无法完成正常的业务处理了。

2.4 性能指标

名称描述指标类型可用于request time(请求处理时间)处理每个请求的时间,单位为毫秒工作:性能日志

3 总结

在这篇文章中,我们分析了整个客户端和服务端通讯的过程,谈到了一些活动指标,错误指标,性能指标的收集方式,展示方式。你可以使用这些指标来监控你的应用。使用这些全部指标,可以让你很好的了解你的服务设施的健康和活跃程度。

a) 已丢弃的连接

b) 每秒请求数

c) 服务器错误率

d) 请求处理数据

当然,监控哪一项指标将取决于你想关注的点,和你集成的监控界面。

[1] K Young.如何监控 NGINX(第一篇) https://linux.cn/ article-5970-1.html 2015-8-17.

[2]王永铭. 过程监控信息集成中的若干关键新技术研究[D].浙江大学,2003.

[3]毛战华. 嵌入式网络摄像机的网络通讯研究与实现[D].天津大学,2005.

[4]CUI Jingsong,LIAO Kun,TIAN Changyou,PENG Rong,WU Xun. A Less Resource-Consumed Security Architecture on Cloud Platform[J]. Wuhan University Journal of Natural Sciences,2016,(05):407-414.

Research on Program Communication ProcedureMonitoring

Zheng Haineng1,Ye Azhen2
(1.Fu Fu software, Fuzhou Fujian, 350025;2.Fujian Polytechnic of Information Technology, Fujian Fuzhou, 350025)

the application of the communication process, because it is in the data exchange procedure, once the failure or lack of performance, the scope of the impact of a wide range of applications will be a problem. Therefore, the real-time monitoring of the communication process is particularly important. It is also important to determine the efficient display of monitoring indicators and indicators This paper simply discusses the monitoring index of the communication process

communication process; real-time monitoring; throughput monitoring; link monitoring

猜你喜欢
错误率服务端通讯
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
小学生分数计算高错误率成因及对策
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
正视错误,寻求策略
通讯简史
解析小学高段学生英语单词抄写作业错误原因