下面是这些步骤是如何与Rational Robot产生的相应的VU脚本代码语句进行关联的:
www_ibm_com = http_request ["Rational~001"] "www.ibm.com:80"
TCP与www_ibm_com的连接是激活的,这样打开一个从客户机器到HTTP服务器的网络套接字来发送http_request "Rational~001"。
Set Server_connection = www_ibm_com;
连接是与响应变量 Server_connection 关联在一起的。
http_header_recv ["Rational~002"] 200; /* OK */
从HTTP服务器发送的HTTP 标题被接收。
http_nrecv ["Rational~003"] 100 %%; /* 20608 bytes */
HTTP回复被接收
http_disconnect(www_ibm_com);
连接关闭.
这个被录制的VU脚本将有很多设置服务器连接的语句,它们随后将在脚本结束之前关闭。自动化工程师们可能选择编辑这些脚本来定义参数,从而实现自定义的逻辑,或者增加或删除一些无效的HTTP请求。然而,如果你编辑这些脚本,注意这些 http_request 和 http_disconnect 命令是十分重要的,这两种命令分配和释放客户端或者Rational Test Agent 上的系统资源,因此你必须将它们成对使用它们,否则你的脚本可能导致连接漏洞,甚至也可能最后耗尽系统资源。那就是为什么在你每次使用一个脚本中的http_request语句来打开HTTP连接时,需要一个相应的http_disconnect 语句来关闭这个连接,这是十分重要的。
权衡
将打开的HTTP连接留在VU脚本中,会导致每个VU占用较大的内存空间,因此会消耗TestManager 和 Test Agent 机器上很大的内存。关闭每一个HTTP连接可以使内存有效被利用,也因此可以在现有的资源上执行更多的VU。图2和图3 ,包含了对我们使用 IBM® Rational® TestManager 和 IBM® Rational® Test Agent 负载的观测所显示的效果。下面是一个Rational Test Agent上由Windows Performance Monitor得到的一些关于rtsvui程序的截图。
图2. 如果存在未关闭的HTTP连接,VU 脚本占用内存的情况
图3. 所有HTTP连接完全关闭的情况下,虚拟用户占用内存的情况
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/