CN110362456A - 一种获取服务端性能数据的方法及装置 - Google Patents
一种获取服务端性能数据的方法及装置 Download PDFInfo
- Publication number
- CN110362456A CN110362456A CN201810316074.4A CN201810316074A CN110362456A CN 110362456 A CN110362456 A CN 110362456A CN 201810316074 A CN201810316074 A CN 201810316074A CN 110362456 A CN110362456 A CN 110362456A
- Authority
- CN
- China
- Prior art keywords
- log
- data
- performance
- serve
- serve log
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一张获取服务端性能数据的方法及装置。所述方法包括:S1,获取线上服务系统的服务日志;S2,按规则对服务日志进行分割得到多个服务日志片段;S3,解析截取的服务日志片段,提取关键数据,建立数据模型计算性能指标;S4,导出性能指标到数据库。所述装置包括日志获取模块,日志分割模块,性能指标获取模块和结果输出模块。本发明针对线上服务端海量log日志进行实时切割,实时通过大数据分析的方式,可以通过动态的方式获取线上不同业务场景、不同时间段的、不同流量下的服务性能数据,通过对这些数据的汇总分析可以为公司的业务发展提供重要的数据支持。
Description
技术领域
本发明涉及性能测试领域,尤其涉及基于服务端海量日志进行大数据分析获取服务端性能数据的方法及装置。
背景技术
随着移动互联网的快速发展,使用互联网的人数呈现爆发式增长。各行各业的竞争也更加激烈,企业的竞争不仅仅体现在业务方面,也体现在企业对外提供应用体验方面。在使用某个应用时,用户体验最直观的感受就是应用使用过程中是否流畅、而流畅度大部分体现了该应用后端软件服务的性能。在应用发布给用户使用之前都会在公司内部进行相关性能来确保应用可以承载当前业务量,该场景下的性能测试一般是在性能环境进行,但性能环境和线上环境硬件配置、数据量、业务场景等往往是存在差异的,所以性能测试的结果无法直接反应应用发布后的最终性能。同时存在另一个问题是公司无法准确把握当前应用在线上环境的实际性能数据以及用户交易的流量分布,所以无法给出具体的性能指标要求。结果就是在面对突然爆发的业务增长时,我们应用软件服务无法承载对应的业务量,导致应用存在无法使用的可能性致使公司蒙受损失。
当前性能测试的解决方案是在软件测试过程中,待相关服务功能测试完成后,通过jmeter、gatling、loadrunner等专门的性能测试工具在功能测试环境或者性能测试环境模拟不同的场景对相关业务进行性能测试。并获取对应的性能指标,如并发量、TPS、AvgRps、内存、CPU等找出相关业务的瓶颈问题。
上述方案是业界目前普遍采用的一种方案,该方案实施成本较低且在企业内容易实现。但是该方案也存在明显的缺点:
1、性能测试一般在功能测试环境或者性能测试环境进行,但是这两个环境和实际的线上环境不管是在硬件配置、业务场景、流量分布都存在很大差异,也就是说在测试环境实际是无法模拟出真实的场景,所以得出的性能指标仅能作为参考,而且数据还存在不准确的可能性。
2、待相关应用上线后,无法实时监测线上环境服务的性能。测试环境得出的指标在线上环境无法得到验证。
目前需要获取线上环境真实的性能指标,可以采用针对线上环境真实的场景进行性能测试。常用的方式有两种:
1、影子链路:需要对所有代码进行改造,对数据库写操作分主库和影子库操作,性能测试主要对影子库进行。该方式涉及改动点较大,没有很好的技术预案和技术支持,容易产生极大的风险。
2、流量标记:针对性能测试的数据,不依赖生产的真实数据,对于性能测试所造的数据需要打上特定的标记,系统在处理的时候自动识别该数据并进行相关处理,该方式处理不好容易引起线上环境数据错乱,风险较大。
发明内容
为了解决上述问题,本发明的目的在于提供一种获取服务端性能数据的方法及装置,针对线上服务端海量log日志进行实时切割,实时通过大数据分析的方式,可以通过动态的方式获取线上不同业务场景、不同时间段的、不同流量下的服务性能数据,通过对这些数据的汇总分析可以为公司的业务发展提供重要的数据支持。
为解决上述技术问题,本申请实施例是这样实现的:
本申请实施例提供的一种获取服务端性能数据的方法,该方法包括:
S1,获取线上服务系统的服务日志;
S2,按规则对服务日志进行分割得到多个服务日志片段;
S3,解析截取的服务日志片段,提取关键数据,建立数据模型计算性能指标;
S4,导出性能指标到数据库。
作为优选实施方式,所述S2中的规则为:当服务日志超过预设大小时,日志文件处理工具自动对当前服务日志进行分割,将日志分割成固定大小的多个服务日志片段,并对服务日志片段按照规则命名。
作为优选实施方式,所述S3包括:
一旦监测到日志分割动作,将新的服务日志片段导入HDFS系统;
启动MapReduce程序,对导入HDFS的日志文件进行解析,计算性能指标。
作为优选实施方式,S3中的关键数据包括访问时间、服务名称、客户端IP、访问来源、结果返回时间和返回状态。
作为优选实施方式,所述方法还包括:
S5,从数据库调用性能指标数据。
作为优选实施方式,S1中,从Nginx、Tomcat或线上服务本身获取服务日志。
本申请实施例提供的一种获取服务端性能数据的装置,该装置包括:
日志获取模块,用于获取线上服务系统的服务日志;
日志分割模块,按规则对服务日志进行分割得到多个服务日志片段;
性能指标获取模块,用于解析截取的服务日志片段,提取关键数据,建立数据模型计算性能指标;
结果输出模块,用于导出性能指标到数据库。
作为优选技术方案,该装置还包括:数据调用模块,用于从数据库调用性能指标。
通过本方案可以提供在测试环境进行性能测试无法提供的数据,对公司的技术架构、业务发展具有指导意义:
1.统计每天系统的流量高峰时段,并统计该时段服务的性能。
2.统计对服务请求的来源,查看用户整体部分,对于市场具有指导意义。
3.统计在高峰时段,各服务的性能指标,查找性能服务短板并进行优化。
4.对于移动端应用,可以统计当前使用高频的移动设备型号,针对这些设备进行应用优化。
5.为测试环境的性能测试提供具体的性能指标。
附图说明
图1为本发明实施例的方法的总体流程图。
图2为本发明实施例的方法架构图。
图3为本发明实施例的装置的功能模块框图。
具体实施方式
下面结合附图对本专利的优选实施方案作进一步详细的说明。
服务端的日志在服务被调用时自动记录,这些信息可能来自Nginx、Tomcat、或者服务本身,面对这些海量的日志信息我们如何从中提取有效的信息是本方案的核心点。日志里面会包含访问时间、访问来源、请求的地址、请求参数、返回值、状态等信息。对于要获取的性能指标数据,可以通过配置文件或者数据库配置的方式来管理。对于产生的log日志文件需要按照一定的规则进行切割,确保每个文件相同的大小,按照一定的规则进行命名,供核心程序来读取这些log日志进行解析,并将解析的结果进行聚合汇集到数据库进行存储。
如图1和图2所示为一种获取服务端性能数据的方法的一种实现方式,该方法包括:
S1,获取线上服务系统的服务日志。如图2所示,服务端是一个服务器集群,在服务被调用时自动生成服务日志(log日志)。
S2,按规则对服务日志进行分割得到多个服务日志片段。
所述S2中的规则为:当服务日志超过预设大小时,日志文件处理工具自动对当前服务日志进行分割,将日志分割成固定大小的多个服务日志片段,并对服务日志片段按照规则命名。例如,针对实时生成的大容量的日志(几十G或者几百G)使用split-l1000000test.log-d-a 2test.log这种方式来进行日志分割。可以通过程序控制当前服务日志超过预设大小时自动对当前服务日志进行切割。
S3,解析截取的服务日志片段(log块),提取关键数据,建立数据模型计算性能指标。
所述数据模型可以采用Hadoop计算模型,可以通过以下步骤实现:
一旦监测到日志分割动作,将新的服务日志片段导入HDFS系统。
系统通过job程序监控上述的日志分割,发现有新分割的服务日志片段,将新的服务日志片段导入HDFS系统。
启动MapReduce程序,对导入HDFS的日志文件进行解析,计算性能指标。
通过逐行读取日志进行解析可以提取到该服务的一些关键数据如访问时间、服务名称、客户端IP、访问来源、结果返回时间、返回状态。
基于上述的数据可以统计出实时的性能指标数据,性能指标数据可以包括QPS、TPS、并发数、服务端响应时间等。
如图2所示,hadoop的分布式计算框架分为两个阶段,第一个是map阶段(mapper),第二个是reduce阶段(reduce)。map阶段负责对输入文件进行切分处理,然后汇总再分组给reduce进行处理,以达到高效的分布式计算效率。
以获取10点~11点的用户登录数据的每秒钟处理事务数量(TPS)对上述过程进行说明。统计TPS分为两个Map过程,通过第一个Map过程得到10点~11点之间的请求总数,通过第二个Map过程得到10点~11点之间的请求的总响应时间,并通过公式:请求数/响应时间,计算得到对应的TPS。
第一个Map过程包括:
Map过程{key:服务名称_用户登录,value:1},其中,key:指10点~11点之间的每次请求;Value:固定值1。
Reduce过程{key:服务名称_用户登录,value:求和(sum)},其中,key:指10点~11点之间的每次请求;Value:对所有请求进行汇总。
第二个Map过程包括:
Map过程{key:服务名称_用户登录,value:响应时间},其中,key:指10点~11点之间的每次请求;Value:每次响应时间。
Reduce过程{key:服务名称_用户登录,value:求和(响应时间)/总请求数},其中,key:指10点~11点之间的每次请求;Value:计算平均响应时间。
S4,导出性能指标到数据库。
对于要获取的性能指标数据,可以通过配置文件或者数据库配置的方式来管理。本实施例在S3完成之后从HDFS导出性能指标数据到数据库。
S5,从数据库调用性能指标数据。从数据库调用的性能指标数据可以通过前端的web程序显示,并为相应的性能测试提供数据源。
如图3所示的一种获取服务端性能数据的装置,所示装置包括:
日志获取模块31,用于获取线上服务系统的服务日志;
日志分割模块32,按规则对服务日志进行分割得到多个服务日志片段;
性能指标获取模块33,用于解析截取的服务日志片段,提取关键数据,建立数据模型计算性能指标;
结果输出模块34,用于导出性能指标到数据库;
数据调用模块35,用于从数据库调用性能指标。
Claims (8)
1.一种获取服务端性能数据的方法,其特征在于,包括:
S1,获取线上服务系统的服务日志;
S2,按规则对服务日志进行分割得到多个服务日志片段;
S3,解析截取的服务日志片段,提取关键数据,建立数据模型计算性能指标;
S4,导出性能指标到数据库。
2.根据权利要求1所述的一种获取服务端性能数据的方法,其特征在于,所述S2中的规则为:当服务日志超过预设大小时,日志文件处理工具自动对当前服务日志进行分割,将日志分割成固定大小的多个服务日志片段,并对服务日志片段按照规则命名。
3.根据权利要求1所述的一种获取服务端性能数据的方法,其特征在于,所述S3包括:
一旦监测到日志分割动作,将新的服务日志片段导入HDFS系统;
启动MapReduce程序,对导入HDFS的日志文件进行解析,计算性能指标。
4.根据权利要求1所述的一种获取服务端性能数据的方法,其特征在于,S3中的关键数据包括访问时间、服务名称、客户端IP、访问来源、结果返回时间和返回状态。
5.根据权利要求1所述的一种获取服务端性能数据的方法,其特征在于,所述方法还包括:S5,从数据库调用性能指标数据。
6.根据权利要求1所述的一种获取服务端性能数据的方法,其特征在于,S1中,从Nginx、Tomcat或线上服务本身获取服务日志。
7.一种获取服务端性能数据的装置,其特征在于,包括:
日志获取模块,用于获取线上服务系统的服务日志;
日志分割模块,按规则对服务日志进行分割得到多个服务日志片段;
性能指标获取模块,用于解析截取的服务日志片段,提取关键数据,建立数据模型计算性能指标;
结果输出模块,用于导出性能指标到数据库。
8.根据权利要求7所述的一种获取服务端性能数据的装置,其特征在于,该装置还包括:
数据调用模块,用于从数据库调用性能指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810316074.4A CN110362456A (zh) | 2018-04-10 | 2018-04-10 | 一种获取服务端性能数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810316074.4A CN110362456A (zh) | 2018-04-10 | 2018-04-10 | 一种获取服务端性能数据的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110362456A true CN110362456A (zh) | 2019-10-22 |
Family
ID=68213613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810316074.4A Pending CN110362456A (zh) | 2018-04-10 | 2018-04-10 | 一种获取服务端性能数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362456A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158985A (zh) * | 2019-12-30 | 2020-05-15 | 嘉联支付有限公司 | 基于动态规则实时数据监测分析方法及系统 |
CN111552610A (zh) * | 2020-04-17 | 2020-08-18 | 上海中通吉网络技术有限公司 | 全链路监控方法和装置 |
CN113282471A (zh) * | 2021-05-17 | 2021-08-20 | 多点(深圳)数字科技有限公司 | 设备性能测试方法、装置、终端设备 |
CN114092201A (zh) * | 2022-01-20 | 2022-02-25 | 中国民航信息网络股份有限公司 | 一种数据提取与分析方法和相关装置 |
CN114116808A (zh) * | 2021-12-07 | 2022-03-01 | 洛阳市众信佳智能网络科技有限公司 | 一种性能需求指标的获取方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021580A (zh) * | 2016-06-03 | 2016-10-12 | 用友网络科技股份有限公司 | Impala 基于Hadoop集群日志分析方法和系统 |
CN106709003A (zh) * | 2016-12-23 | 2017-05-24 | 长沙理工大学 | 基于Hadoop的海量日志数据处理方法 |
CN107577805A (zh) * | 2017-09-26 | 2018-01-12 | 华南理工大学 | 一种面向日志大数据分析的业务服务系统 |
-
2018
- 2018-04-10 CN CN201810316074.4A patent/CN110362456A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021580A (zh) * | 2016-06-03 | 2016-10-12 | 用友网络科技股份有限公司 | Impala 基于Hadoop集群日志分析方法和系统 |
CN106709003A (zh) * | 2016-12-23 | 2017-05-24 | 长沙理工大学 | 基于Hadoop的海量日志数据处理方法 |
CN107577805A (zh) * | 2017-09-26 | 2018-01-12 | 华南理工大学 | 一种面向日志大数据分析的业务服务系统 |
Non-Patent Citations (1)
Title |
---|
网友: ""海量Web日志分析 用Hadoop提取KPI统计指标"", 《HTTPS://BLOG.CSDN.NET/GGY101600/ARTICLE/DETAILS/53538642》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158985A (zh) * | 2019-12-30 | 2020-05-15 | 嘉联支付有限公司 | 基于动态规则实时数据监测分析方法及系统 |
CN111158985B (zh) * | 2019-12-30 | 2024-03-22 | 嘉联支付有限公司 | 基于动态规则实时数据监测分析方法及系统 |
CN111552610A (zh) * | 2020-04-17 | 2020-08-18 | 上海中通吉网络技术有限公司 | 全链路监控方法和装置 |
CN113282471A (zh) * | 2021-05-17 | 2021-08-20 | 多点(深圳)数字科技有限公司 | 设备性能测试方法、装置、终端设备 |
CN113282471B (zh) * | 2021-05-17 | 2022-09-27 | 多点(深圳)数字科技有限公司 | 设备性能测试方法、装置、终端设备 |
CN114116808A (zh) * | 2021-12-07 | 2022-03-01 | 洛阳市众信佳智能网络科技有限公司 | 一种性能需求指标的获取方法及装置 |
CN114092201A (zh) * | 2022-01-20 | 2022-02-25 | 中国民航信息网络股份有限公司 | 一种数据提取与分析方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362456A (zh) | 一种获取服务端性能数据的方法及装置 | |
CN110457190B (zh) | 一种基于区块链的全链路监控方法、装置及系统 | |
US11775501B2 (en) | Trace and span sampling and analysis for instrumented software | |
CN109739742B (zh) | 业务数据核对方法、装置及设备 | |
CN107391359B (zh) | 一种业务测试方法及装置 | |
CN110784419A (zh) | 铁路电务专业数据可视化方法及系统 | |
CN111740884B (zh) | 一种日志处理方法及电子设备、服务器、存储介质 | |
US20110113117A1 (en) | Asynchronous Collection and Correlation of Trace and Communications Event Data | |
CN109597842A (zh) | 数据实时计算方法、装置、设备及计算机可读存储介质 | |
CN108959337A (zh) | 大数据获取方法、装置、设备及存储介质 | |
CN112351024B (zh) | 一种公网通信安全监测系统及方法 | |
CN109684052A (zh) | 事务分析方法、装置、设备及存储介质 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN112039701A (zh) | 接口调用监控方法、装置、设备及存储介质 | |
CN111708774A (zh) | 一种基于大数据的产业分析系统 | |
CN113010542A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110750414A (zh) | 移动数据监控分析方法、装置、计算机设备和存储介质 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN108228432A (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN114979186A (zh) | 基于Flink组件的流量链接分析方法及系统 | |
CN109379245A (zh) | 一种wifi报表生成方法及系统 | |
CN114971714A (zh) | 一种基于大数据标签的精准客户运营方法和计算机设备 | |
CN111291054A (zh) | 一种数据处理方法、装置、计算机设备和存储介质 | |
CN114138865A (zh) | 客户投诉数据分析方法、装置、设备及存储介质 | |
CN113138906A (zh) | 一种调用链数据采集方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191022 |
|
RJ01 | Rejection of invention patent application after publication |