摘要: 使用LoadRunner录制socket协议的脚本,会发现每个请求都会发送和接受一定长度的数据流,即send buffer和recv buffer;这两个buffer后面都会有个数字,这个数字表示buffer的长度,是一个固定的值。当做性能测试时,执行每次请求响应的数据很多时候是不定长的,如果recv buffer的长度与响应的数据长度不一致,脚本会报错,有两种方法可以解决这个问题:1、造数据,使响应的数据长度在每次不同请求中都一样。但实际上,方法1是有局限性的,也就是说有些请求通过造数据也不能使响应的数据长度一致,那么我们可以采用方法2。2、自定义函数,动态解析并接受不定长响应数据流。以下详 阅读全文
posted @ 2014-02-10 18:45 小小鱼儿2014 阅读(286) 评论(0) 推荐(0)
摘要: 最近做了一次队列服务的性能测试,是通过两种协议windows socket和http分别往内存中写入url。对比哪种协议的效果更高,下图是测试结果。此次使用的工具是loadrunner。在压socket协议时,不能进行录制,只能通过手写函数完成。环境说明服务端 111.111.111.218,配置cpu3.0/4核内存4G. 100m带宽测试机 111.111.111.19配置cpu3.0/4核内存4G. 100m带宽测试目的性能测试测试人李秀龙场景说明windows socket协议: 连续读写固定的值(读写同时进行)http协议:http://111.111.111.218/put/que 阅读全文
posted @ 2014-02-08 18:27 小小鱼儿2014 阅读(751) 评论(0) 推荐(0)
摘要: loadrunner中的windows socket协议如果通过录制方式还是比较简单的,可以在data.ws中参数化一些值就可以了。但有些接口类的内容是没有办法进行录制的,只能通过手写函数实现。下面大概的说一下过程vuser_init 部分:建立一个socket连接,要写到init里,这样在压力过程就相当于只建立一次。#include "lrs.h"vuser_init(){lrs_create_socket("socket1","TCP","RemoteHost=111.111.111.218:12000",Lr 阅读全文
posted @ 2014-02-08 18:25 小小鱼儿2014 阅读(2194) 评论(0) 推荐(0)