APP下载

一种新型的Web应用可靠性评估工作量计算方法

2015-10-24袁佳琳高建华

关键词:工作量日志客户端

崔 霞,袁佳琳,高建华

(1.华东师范大学软件学院,上海200062;2.上海师范大学信息与机电工程学院,上海200234)

0 引言

计算机技术已全面渗透到社会活动的各个领域,不同领域相互之间的交叉,衍生出了Web应用,它为大规模的用户群提供了跨平台访问互联网资源的各种途径.Web应用系统已经完成由“胖客户端”模式向“瘦客户端”模式转变,目前更多的信息系统使用WWW承载B/S结构[1].人们对Web应用的依赖度日益增强,确保其可靠性变得愈加重要.

传统软件的可靠性度量方法都是基于软件内部故障.而Web应用是由一系列Web页面及部件构成的复杂的、多层次的、异构的系统.它的执行需要浏览器、网络、Web服务器、应用服务器、数据库服务器等共同协调[2].这些特点导致Web失效因素的多样性,不仅包含软件内部故障,更包含用户使用、网络环境等诸多因素;而且一种失效现象可由多种可能原因导致.

文献[3]针对Web应用可靠性评估,首次提出基于Apache日志的工作量提取方法,着重探讨了分别使用点击数、下载字节数、用户数以及用户会话数作为工作量指标,度量Web软件可靠性的可行性.上述方法虽然避免了以时间作为可靠性模型输入所带来的巨大误差,但是其强调的Web应用失效重点仅在于源内容的失效,而忽略了由于网络环境故障等因素所产生的影响.

本文作者从软件系统角度探讨基于日志的Web应用可靠性评估的可行性,包括失效类型及原因分析、基于IIS日志的数据收集,以及新型的工作量计算方法.将新的工作量指标代入Nelson模型,评估Web应用的可靠性,并衡量可靠性度量的精度.

章节安排如下:第1节是Web应用的可靠性,主要描述Web应用失效定义以及失效形式.第2节是基于IIS日志的数据收集,描述IIS访问日志和错误日志的采集过程和与工作量相关数据处理过程.第3节是核心部分,新型工作量计算方法.描述所提出的新型工作量的计算方法.第4节是实验分析,根据所采集的日志数据,对新型工作量的准确性根据RSE值进行评价.第5节是结语.

1 Web应用的可靠性

将Web应用失效定义为在用户正确操作下,无法完成文档、多媒体以及应用计算结果等信息传送的事件.导致Web信息传送失败的原因主要有以下3个方面:1)用户操作错误;2)网络环境故障;3)源内容失效及网页错误.其中,源内容失效通常指服务器端信息的丢失、传输阻碍及程序运行失败;网络环境故障通常指由于客户端浏览器的专有特性,网络设备的运行局限等各种因素所导致的不稳定、网路阻碍等现象.显而易见,能导致所定义的Web应用失效的原因就是上面所提及的2)和3).而1)用户操作错误与研究内容无关.

Web应用更新频率较高,访问量波动较大等特点促使用户更关心信息的正确获取.软件可靠性模型是软件可靠性定量分析的技术基础.将Web应用可靠性定义为避免Web应用失效,无故障完成信息传送的概率.由于Web应用中确切的时间是很难获得的,工作量概念的提出避免了可靠性模型的输入基于CPU运行时间,事务处理时间等指标的尴尬[3].

Web日志文件详细记录了客户端和服务器的交互行为和错误类别.举例来说,如下错误日志内容:2010 -12 -25 02:22:49 111.186.89.52 1226 202.121.48.103 80 - - - - - Timer_ConnectionIdle -,说明错误是于2012年12月25日02:22:49发生,错误类型为连接超时.由于Web应用失效因素错综复杂,往往很难区分失效的具体原因和出错对象,如何从Web日志中有效提取工作量数据和失效数据决定着可靠性评估的成败.

2 基于IIS日志的数据收集

IIS是目前常用的服务器之一,IIS访问日志和错误日志是作者的研究对象.IIS访问日志主要用于记录用户包括搜索引擎蜘蛛对网站的访问行为,包括客户端访问时刻、来源IP、客户端请求方式、访问路径及参数、协议状态代码、请求及返回字节大小等信息.IIS错误日志主要用于记录HTTP应用程序接口错误,包括客户端访问时刻、来源IP、谓动词、访问资源、协议状态代码、错误原因等信息.

需要注意的是,IIS访问日志与错误日志是相互独立的,在访问日志中出现的错误信息,错误日志中并无记录与之对应.IIS访问日志是服务器已经响应客户端的请求,并已经发生请求和返回信息传送的记录;而IIS错误日志则是由于网络环境故障、服务器和客户端错误等原因导致的信息传送中止的记录.

虽然很难从IIS访问和错误日志中严格区分信息传送失败的具体原因和出错对象,但通过恰当的处理可以较为准确地划分出所定义的Web应用失效次数和用户访问的信息.IIS访问日志和错误日志记录了Web应用系统各个环节软件的响应,而与硬件设备的损坏无关,这正是从Web应用软件系统角度探讨可靠性评估的着眼点.作者通过C#语言编程实现了对IIS日志的数据收集.

2.1 工作量数据收集

参照文献[3]提出的4个工作量的候选参数,即,点击数、传输字节数、用户数、用户会话数,在第3节中对上述4个参数进行组合,产生一种新型的工作量的计算方法.这4个候选参数选取如下:

1)点击数.每次点击代表了一次客户端与服务器的交互.由于IIS记录访问日志时以文件引用为一次记录,使得一次用户的访问请求记录了如CSS样式文件、图片文件和JS脚本文件的引用等多条记录.计算点击数时,是指去除了访问请求所附带的隐性资源、搜索引擎蜘蛛的访问,以及协议状态为4xx和5xx的错误访问记录后,剩余的访问日志条目总数即为点击数,单位“次”.

2)传输字节数.在访问日志中可以获取一次点击的字节传输量,包括同一点击下多次文件引用所产生的客户端发送请求和服务器应答的总字节数,单位“字节”.文中排除了搜索引擎蜘蛛和错误访问记录中的传输字节数据.

3)用户数.一个唯一的IP对应一个用户.用户数单位是“个”.文中排除了搜索引擎蜘蛛和错误访问记录中的IP数据.

4)用户会话数.在一个明确的时间间隔内,同一个IP地址上的所有操作被认为是一个会话,超过这个时间间隔则产生一个新的会话,用户会话数的单位是“次”.文中排除了搜索引擎蜘蛛的IP数据,并忽略了协议状态为4xx和5xx的点击记录.

2.2 失效数据收集

分别从IIS访问日志和错误日志中提取Web失效数据.它反映了Web应用失效的来源,体现了Web应用系统各个软件环节信息传送的基本运行状况.

每一次信息传送失败记为一次失效.IIS访问日志中,对应协议状态为4xx或者5xx的每一次点击记为一次失效;大多数情况下,IIS错误日志中,错误原因“URL”、“Timer_MinBytesPerSecond”、“Timer_ConnectionIdle”、“Client_Reset”和“Connection_Dropped”是由用户错误操作或者硬件故障产生.所以IIS错误日志中排除以上5种错误原因的每一次点击记为一次失效.Web应用失效数的单位是“次”.

3 新型工作量计算方法

一般而言,某网站的客户群体特点大致相同;其客户的使用特征虽然在不断地波动,但也具有一定的规律性.Web日志中点击数、传输字节数、用户数以及用户会话数都存在信息不完整的现象.基于以上分析,采取了以下工作量的计算方法.

设某i天的点击数、传输字节数、用户数、用户会话数分别为Hi,Bi,Ui,Si.统计nt天数的数据,分别取平均,得:

再进行去单位化处理,得:

其中,hi,bi,ui,si分别称为某i天的点击权量、传输字节权量、用户权量、用户会话权量.定义某i天的工作量权量wi为:

其中,k1、k2、k3、k4的选取采用以下优化方法:

由Nelson模型,某i天可靠度的估计值为:

进一步计算nt天可靠度的标准差,定义为:

则,k1、k2、k3、k4的选取要求达到 χnt最小.文中运用 Matlab 软件的 fmincon 函数实现了 k1、k2、k3、k4的优化选取.

为了说明可靠度评估的稳定性,引入了RSE参数,定义如下:

显然,RSE值越小,可靠性评估越稳定,可信性越高.

4 实验分析

本章将通过分析前10d(2011.04.01~2011.04.10)的IIS访问日志和错误日志数据,获取点击数、传输字节数、用户数、用户会话数(时间间隔20 min)以及失效数.利用第3节提出的优化方法,选取k1、k2、k3、k4.再分析后10d(2011.04.11 ~2011.04.20)以及再后 10d(2011.04.21 ~2011.04.30)的 IIS 访问日志和错误日志数据,将前面优化得到的k1、k2、k3、k4代入式(3),计算新提出的工作量.分别使用点击数和新型工作量,代入Nelson模型(式(4))和RSE参数(式(6)),计算可靠度和RSE值.最后,比较两种工作量计算可靠度的稳定性.

4.1 实验环境

本次实验使用一个社区网络运行商提供的网络业务办理平台.社区网络用户可以在该平台上申请、办理、查询、咨询、报修各类网络业务.本平台的WEB应用承载在IIS6.0上,故本次实验使用IIS6.0自动记录的访问日志和错误日志.要注意的是,IIS6.0默认不记录每次用户请求时服务器接收和应答的字节数,需要手动勾选sc-bytes和cs-bytes两个选项.

4.2 数据收集结果

分别选取了2011年4月1日至10日、11日至20日、21日至30日的IIS访问日志和错误日志作为实验数据,从中获取点击数、传输字节数、用户数、用户会话数(时间间隔20 min)和失效数进行试验.前10d的数据如表1所示;后10d的数据如表2所示;再后10d的数据如表3所示.

表1 前10d的收集数据

表2 后10d的收集数据

表3 再后10d的收集数据

4.3 实验结果比较

通过前 10d 数据的优化计算,得到了系数 k1、k2、k3、k4值分别为0.1220、0.4430、-0.4744、0.9094.采用新型工作量前10d优化所得可靠度的RSE值为0.0177;以点击数为工作量所得可靠度的RSE值为0.0275.代入上述系数k1~k4,采用新型工作量计算后10d可靠度的RSE值为0.0586;若采用点击数为工作量,可靠度的RSE值为0.0687.采用新型工作量计算再后10d可靠度的RSE值为0.0308;若采用点击数为工作量,可靠度的RSE值为0.0335.其柱状图如图1所示.

图1 RSE值比较

由实验结果数据可见,采用点击数作为工作量,3组10d的可靠度RSE值分别为0.0275、0.0687和0.0335,都是较差的.而采用新型工作量经优化后的可靠度RSE值达到最小,即0.0177;将优化后的系数k1~k4代入后二组10d的数据,采用新型工作量计算可靠度的RSE值也分别达到0.0586和0.0308,都比采用点击数为工作量所计算的RSE值低约10%.采用新型工作量所计算可靠度RSE值都相对较小,表明采用新型工作量来计算Web应用的可靠度稳定性较好,可信性较高.

5 结语

本文作者通过定义Web应用失效为在用户正确操作下,无法完成文档、多媒体以及应用计算结果等信息传送的事件,来研究Web应用的可靠性.通过分析IIS日志数据,收集相应的用户操作和信息传送失效数据.从Web应用软件系统的角度探讨了基于日志的Web应用可靠性评估的可行性.

本文作者提出了一种新型工作量计算方法.该方法首先从以前数日的日志数据中优化得到系数k1~k4,然后代入以后的日志数据,得到工作量权量wi和新型工作量.最后通过实验验证了新型工作量的有效性.实验结果表明,采用新型工作量计算Web应用的可靠性较稳定,可信性较高.

[1]LYU M R.Handbook of software reliability engineering[M].New Yourk:McGraw-Hill,1996.

[2]ELBAUM S,ROTHERMEL G,KARRE S,et al.Leveraging user-session data to support web application testing[J].IEEE Transactions on Software Engineering,2005,31(3):187 -201.

[3]TIAN J,RUDRARAJU S,LI Z.Evaluating web software reliability based on workload and failure data extracted from server logs[J].IEEE Transactions on Software Engineering,2004,30(11):754 - 769.

[4]YUAN JL,GAO J H.Measurement method of Web applicaition reliability based on workload and error log[J].Computer applications and software,2012,29(10):44 -47,179.

[5]NELSON E.Estimating software reliability from test data[J].Microelectronics and Reliability,1978,17(1):67 -73.

[6]W3C.Extended log file format[EB/OL].(1996-03-23).[2014-11-20].http://www.w3.org/TR/WD-logfile.html.

[7]HSU CJ,HUANG C Y.Optimal weighted combinational models for software reliability estimation and analysis[J].IEEE Transactions on Reliability,2014,99:1 -19.

猜你喜欢

工作量日志客户端
一名老党员的工作日志
应用地表覆盖数据估算LiDAR内业工作量的方法研究
扶贫日志
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
游学日志
一个兼顾教学科研的高校教师绩效考核模型及其应用
思科发布云计算市场发展报告
网上互动教学工作量管理的困境及对策