性能测试用户操作信息收集方案

栏目: 编程工具 · 发布时间: 6年前

内容简介:前言:性能测试不同情况一般解决方案:

前言:

性能测试不同情况

  1. 版本升级,已经有用户数据

  2. 新产品,无用户数据

一般解决方案:

  1. 同类产品对比

  2. 线上数据挖掘

  3. 目标驱动法(此方法从性能测试满足领域切入)

本次用户操作信息的数据收集及分析方案,适用范围:旧系统升级、未建立起流量回放机制

概要总结

1,通过IIS、Apache、Nginx建立用户信息收集机制

2,通过WebLog Expert进行数据分析,进而确定用户行为

作为常用的Web服务器IIS、Apache、Nginx,当用户通过客户端发送请求到Web服务器时,都会在访问日志中记录下来。

日志收集:

1,IIS:

IIS日志的设置方法说明如下。在IIS中找到需要的网站,打开日志功能,如下图:

性能测试用户操作信息收集方案

IIS默认支持如下4种日志格式:

Microsoft IIS日志文件格式

信息记录在以逗号分隔的ASCII文本文件中

数据是固定的,不能自定义该日志

单个传输有多条记录

NCSA公用日志文件格式

信息记录在使用(美国)国际计算技术应用中心(NCSA)格式的ASCII文本文件中

数据是固定的,不能自定义该日志

单个传输有多条记录

W3C扩展日志文件格式

W3C(万维网联合会)扩展日志文件格式是SMTP服务及其他IIS服务的默认日志记录格式

数据是变化的,可以选择要跟踪的内容

此种格式是日志大小的很好的选择

信息记录在ASCII文本文件中

这种恶是包括某些仅适用于Web和文件传输协议(FTP)服务的字段选项

单个传输有多条记录

ODBC日志记录

使用此格式前,必须建立一个与开放式数据库连接(ODBC)兼容的数据库。

信息记录在数据库中

单个传输有多条记录

如果使用IIS作为Web服务器,建议使用W3C格式,这里可以通过格式后的选择字段功能为日志添加监控属性,数据越多,对后期分析可以提供的支持就越强,如下图

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案

2,Apache:

Apache的访问日志格式支持自定义,打开Apache下的httpd.conf文件,使用LogFormat命令来查找系统默认的日志格式,也可以自行定义需要的日志格式。

在httpd.conf文件中找到如下内容:

LogFormat “%h %l %u %t \“%r\ “ %s %b \”%{Referer}i \”\”%{User-Agent}i\”“combined

LogFormat “%h %l %u %t \“%r \“ %s %b \”common

性能测试用户操作信息收集方案

下面简单介绍一下LogFormat的使用格式。典型的记录格式如下:

LogFormat “%h %l %u %t \“%r \“ %s %b \”common

CustomLog logs/access_log common

它定义了一种特定的记录格式字符串,并给它取名为common

其中的“%”表示服务器用某种信息替换,其他字符则不做替换。引号(“)必须加反斜杠转义,一避免被解释为字符串的结束,格式字符串还可以包含特殊的控制符,如换行符”\n“。制表符”\t“

CustomLog指令建立一个使用制定别名的新日志文件,除非其文件名是以斜杠开头的绝对路径,否则其路径就是相对于ServerRoot的相对路径

上述配置是一种被统称为通用日志格式(CLF)的记录格式,它被许多不同的Web服务器所采用,并被许多日志分析程序识别,它产生的记录如下:

我们将记录的部分一个一个说明下:

127.0.0.1 :为发送请求到服务器的客户IP地址。如果HostnameLookups设置为ON,则服务器会尝试解析这个IP地址idea主机名并替换此处的IP地址,但并不推荐这样做,因为他会显著拖慢服务器,最好用一个日志后续处理器来判断主机名,比如logresolve。如果客户和服务器之间存在代理,那么记录中的这个IP地址代理的IP地址,而不是客户机的真实IP地址。

-(%l) :为客户端identd进程判断的RFC1413身份(identity),输出中的符号“-”表示此处的信息无效,除非在严格控制的内部网络中,此心刺通常很不可靠,不应该被使用。只有在将identityCheck指令设置为ON是,Apache试图得到这项信息。

Frank(%u) :为HTTP认证系统得到的访问该网页的客户标识(userid),环境变量REMOTE_USER会被设置为该值并提供给CGI脚本。如果状态吗是401,表示客户未通过认证,则此值没有意义,如果网页没有设置密码保护,则此项将是“-”

{10/Oct/2000:13:55:36 -0700}(%t) :为服务器完成请求处理的时间,其格式如下:

{日/月/年:时:分:秒 时区}

日=2个数字位

月=3个字母位

年=4个数字位

时=2个数字位

分=2个数字位

秒=2个数字位

时区=(+正|-负)4个数字位

可以在格式字符串中使用%{format}t来改变时间的输出形式,其中的format与C标准库中的strftime()用法相同。

“GET /Apache_pb.gif HTTP/1.0“(\”%r\”): 为客户端发出的包含许多有用信息的请求行。可以看出,该客户的动作是GET,请求的资源是/apache_pb.gif,使用的协议是HTTP/1.0。另外,还可以记录其他信息,如格式字符串“%m %U %q %H “会记录动作、路径、查询字符串、协议,其输入与“%r”一样。

2 00(%>s): 为服务器返回给客户端的状态码。这个信息非常有价值,因为他指示了请求的结果,或者被成功响应了(以2开头),或者被重定向了(以3开头),或者出错了(以4开头),或者产生了服务器端错误(以5开头)。完整的状态码列表参见HTTP规范(RFC2616).

2326(%b): 是返回给客户端的不包括响应头的字节数。如果没有信息返回,则此项应该是“-”,如果希望记录为“0”的形式,就应该用%b。

即:

首先使用LogFormat命令LogFormat “%h %l %u %t \“%r \“ %s %b \”common定义日志格式,然后在通过CustomLog命令CustomLog “c:/logs/access.log” common为日志设置存放地址。这样就完成了Apache日志的设定工作。

3,Nginx:

Nginx日志相关指令主要有如下2条:

a,Log_format,用来设置日志格式。

b,access_log,用来指定文件的存放路径、格式和缓存大小。

log_format格式

log_forma   name(格式名称) 格式样式(即想要得到什么样的日志内容)

默认的示例如下:

性能测试用户操作信息收集方案

注释如下:

$remote_addr:与$http_x_forwarded_for一起用于记录客户端的IP地址。

$remote_user:用来记录客户端用户名称。

$time_loca:用来记录访问时间与时区。

%request:用来记录请求的URL与HTTP协议。

%status:用来记录请求状态,成功是200。

$body_bytes_s ent:记录发送给客户端文件主体内容的大小。

$http_referer:用来记录是从哪个页面链接访问过来的

$http_uesr_agent:记录客户浏览器的相关信息。

通常Web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_addr得到的IP地址是反向代理服务器的IP地址。反向代理服务器在转发请求的HTTP信息头中,可以增加x_forwarded_for信息,用于记录原有客户端的IP地址和原来客户端的请求的服务器地址。举例如下:

用access_log

用log_format指令设置日志后,需要用access_log指令指定日志文件的存放路径,

access_log     path(存放路径)    format(自定义日志名称)

示例:

用log_format定义了一个mylogformat的日志,可以写成如下语法:

access_log  logs/access.log  mylogformat;

如果不想启用日志,语法如下:

access_log off;

在定义日志目录中要注意的是,nginx进程设置的用户和组必须有对该路径创建文件的权限,假设nginx的usr指令设置的用户名和用户组都是www,而log目录的用户名和组都是root,那么日志文件将无法被创建。

接着让用户在正常情况下使用一段时间这个配置了日志的系统,就能得到大量访问数据,以便于进行下一步的日志分析工作。

数据分析WebLog Expert:

WebLog Expert:一个强大的日志分析工具(PS:只能精确到小时,无法精确到分钟)

WebLog Expert能够分析网站的流量记录,将原始的流量记录分析出Activity statistics,Acdess statistics,Information about visitor,Referrers、Information about errors等基本而重要的流量信息,帮助测试人员了解网站的使用状况,另外它同时支持IIS和Apache日志,这也是选用该软件的原因之一。

由于近期并没有合适的项目实战,所以此部分并未有成果展示,这里附上简单的 工具 截图及官网上Report的示例图,感兴趣的同学可以查看下,十分好用且强大

官网: https://www.weblogexpert.com/

工具:

性能测试用户操作信息收集方案

报告例图:

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案

性能测试用户操作信息收集方案


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript快速开发工具箱

JavaScript快速开发工具箱

Robin Nixon / 陈武、姚飞 / 清华大学出版社 / 2011-11 / 59.00元

《JavaScript快速开发工具箱:轻松解决JavaScript日常编程问题的100个插件工具》通透讲解100个现成的JavaScript插件,引导您使用这些利器得心应手地创建动态Web内容。《JavaScript快速开发工具箱:轻松解决JavaScript日常编程问题的100个插件工具》开篇讲解JavaScript、CSS和DOM,此后每章都列举一个完整示例,指导您将特定效果快速应用于网页。使......一起来看看 《JavaScript快速开发工具箱》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具