1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > rational故障_Rational Performance Tester和Citrix故障排除和最佳实践

rational故障_Rational Performance Tester和Citrix故障排除和最佳实践

时间:2021-02-27 17:06:16

相关推荐

rational故障_Rational Performance Tester和Citrix故障排除和最佳实践

Citrix Presentation Server的IBMRational®Performance Tester Extension使用Citrix客户端软件的一部分Citrix ICA Client Simulation API记录和回放用户与基于Citrix的应用程序(在Citrix Presentation Server或XenApp中运行的虚拟应用程序)的交互。或XenDesktop软件)。 多个Microsoft Windows进程在后台交互以实现此目的。 本教程讨论了使用Rational Performance Tester进行Citrix负载测试的最佳实践,以及解决常见问题的技巧。 本教程不包括Citrix Performance Testing的最佳实践。 您可以在Rational Performance Tester知识中心中找到它们。

本教程分为两个部分:录制时的故障排除和最佳实践,以及测试和安排播放。

测试记录期间的Citrix错误

Windows注册表中不存在AllowSimulationAPI密钥

在Citrix客户端(Citrix Receiver或Citrix Online插件)安装后首次启动录制时,您可能会看到在打开的Citrix客户端窗口中突出显示“不支持的功能”。 此错误是由与Citrix客户端有关的Windows注册表项不正确或不完整引起的,最重要的是由Citrix客户端AllowSimulationAPI使用的注册表项激活了ICA Client Simulation API。

如果遇到此错误,请确保Citrix安装程序以具有管理特权的用户身份运行。 即使您以管理用户身份安装了Citrix客户端,偶尔也无法编写AllowSimulationAPI。 如果发生这种情况,您可以手动创建条目。

要验证AllowSimulationAPI密钥是否存在并根据需要创建它:

打开Windows注册表编辑器(“开始”>“运行”>“ Regedit”)。 如果您使用32位Windows,请导航至HKEY_LOCAL_MACHINE>软件> Citrix> ICA客户端> CCM。 如果您使用64位Windows,则路径为HKEY_LOCAL_MACHINE>软件> Wow6432Node> Citrix> ICA Client> CCM

Windows注册表中的ICA客户端文件夹
ICA客户端的Windows注册表项:在CCM文件夹中,验证键AllowSimulationAPI是否存在并且其值为1。如果值为1,请忽略本节中的其余步骤。 如果不存在CCM文件夹或AllowSimulationAPI值,请右键单击ICA Client文件夹,然后选择“新建”>“密钥”选项。 创建一个新文件夹作为ICA Client父文件夹的子文件夹。 重命名新文件夹CCM。 右键单击此文件夹,然后选择“新建”>“ DWORD(32位)值”。 命名新属性AllowSimulationAPI。
创建AllowSimulationAPI
双击AllowSimulationAPI。 将打开“编辑DWORD(32位)值”对话框。
编辑AllowSimulationAPI
在“编辑DWORD(32位)值”对话框中,在“值数据”字段中键入1,然后单击“确定”。 如果录制问题仍然存在,请重新启动系统以确保注册表设置已生效。

清理Citrix流程

Citrix客户端启动时,它将启动一些进程,尤其是Citrix连接中心(concentr.exe)和Citrix Connection Manager(wfcrun32.exe)。 在关闭与Citrix服务器的连接后,Citrix客户端窗口退出后,这些过程将继续运行。

因此,当您使用Rational Performance Tester启动Citrix测试记录时,可能会遇到以下错误。 在Citrix录制客户端窗口打开之后,将发生这些错误:

不支持的功能 协议驱动程序错误

在这种状态下无法捕获和生成新的Citrix测试。 要恢复并使记录成功运行,请终止Citrix连接中心(concentr.exe)和Citrix连接管理器(wfcrun32.exe)。 这将迫使Citrix客户端在下次尝试连接时打开这些进程的新实例。 要结束这些过程,请使用Windows任务管理器或Windows命令行中的taskkill实用程序。

由Rational Performance Tester启动的CitrixRuntime.exe和由Citrix客户端启动的wfica32.exe进程可能由于测试的异常退出或计划的回放而保留在系统中。 如果在录制过程中发生错误,请在开始新录制之前终止这些过程。 确保先结束concentr.exe进程。

Citrix Online插件与Citrix Receiver

Citrix客户端软件以前称为Citrix Online Plug-in。 最新的Citrix Online插件独立版本(V12.3)于4月发布。不再受支持。 Citrix Online Plug-in软件现已成为Citrix Receiver软件包的一部分。 第一个Citrix Receiver(V3.1)包括Online Plug-in V13.1,并且版本命名法以相同的模式继续进行。

用于Rational Performance Tester记录和回放的机器不应同时安装Citrix Online插件和Citrix Receiver。 要确认这一点,请在Windows“控制面板”中的“添加/删除程序”实用程序中查找并确认仅安装了一个。

记录并最大化应用程序窗口

在记录鼠标单击事件时,ICA Client Simulation API会捕获动作的x和y坐标。 在回放期间,Rational Performance Tester指示ICA Client Simulation API在相同的坐标上执行回放。 这使得动作对播放时应用程序窗口的相对位置的差异敏感。 如果应用程序窗口在屏幕上的其他相对位置打开,则所需的GUI元素不再位于同一位置,并且鼠标事件对应用程序没有任何影响。 可能会导致播放失败。

下图显示了针对简单应用程序Windows记事本记录的Citrix测试。 在此测试中:

用户打开记​​事本 类型foo单击鼠标退出应用程序

该测试包含坐标(577,402)上的鼠标左键单击事件。 这些坐标现在对应于用户关闭“保存”对话框的位置。

Citrix鼠标单击测试元素

如果在播放期间,“保存”对话框窗口或“记事本”窗口在与录制时不同的位置打开,则鼠标单击坐标(577,408)无效。 Citrix测试将导致注销失败,并且同一用户下次尝试登录时会打开意外窗口。

为避免这种情况,请在录制时使用热键或快捷方式。 如果某些操作没有关联的快捷方式或热键,请记录与最大化的主窗口的交互。 随着应用程序窗口的最大化,相对位置发生变化的机会会减少,从而产生可靠的播放效果。 将键盘操作记录到Windows快捷方式中,该快捷方式在应用程序主窗口启动后立即最大化。

多用户Citrix计划运行的最佳做法

通常,不是在工作台机器上完成多用户Citrix计划回放,而是在使用IBM Rational Performance Tester Agent软件的另一台机器上进行回放。 本节描述了一些在Rational Performance Tester代理上运行多用户Citrix调度的最佳实践。

设置代理计算机以进行Citrix回放

使用远程代理计算机运行工作负载时需要了解的重要事项是:

确保Rational Performance Tester代理是32位的。 Citrix测试播放不适用于64位代理软件。 Citrix回放需要AllowSimulationAPI的注册表项。 与工作台计算机一样,请确保Citrix客户端以具有管理特权的用户身份安装。 验证AllowSimulationAPI注册表项在正确的位置,值为1。

限制并发登录

在负载测试方案中,通常是让虚拟用户长时间登录,执行操作和退出循环。 随着系统中虚拟用户数量的增加,回放中,多个Citrix用户可能会同时登录到服务器。 当多个用户同时从同一台代理计算机登录Citrix服务器时,Citrix会话的可靠性问题可能会导致回放错误。 在多用户日程表回放期间,这种情况很少发生,具体取决于环境因素,例如完成登录所需的时间,因此请不要对所有日程表都应用此解决方案。 仅在必要时使用它。

加速时间可以通过分发用户登录名来缓解这种情况。 但是在使用循环长时间运行的测试中,仅具有加速时间可能不够。 但是,您可以设置计划以防止多个并发登录。

下图显示了一种防止并发登录的方法。 在此示例中,使用自定义代码元素在文件系统中创建了登录锁定文件。 这是在启动Login元素之前发生的。 用户完成登录后,另一个自定义代码将删除此文件。

自定义代码元素可锁定Citrix登录

下面的清单显示了运行此代码的虚拟用户。 在继续登录之前,它验证锁定文件不存在。 如果存在锁定文件,它将等待直到锁定文件在系统中不再可用。 该代码还包括一种检测过期锁定文件的机制。

虚拟用户代码

package customcode;import java.io.File;import java.io.IOException;import java.util.Calendar;...public String exec(ITestExecutionServices tes, String[] args) { File connectionLock = new File("C://path//to//lockFile"); while(true){ if(connectionLock.exists()){tes.getTestLogManager().reportMessage("Another VU logging in now. Will try later."); try { // Delete stale lock file if any long timeStamp = connectionLock.lastModified(); Calendar rightNow = Calendar.getInstance(); if ((rightNow.getTimeInMillis() - timeStamp) > (5 * 60 * 1000)){ //> 5 minstes.getTestLogManager().reportMessage("Stale lock file to be removed");connectionLock.delete();}//zzz... Thread.sleep(1000);} catch (Exception e) { e.printStackTrace();} }else{try {connectionLock.createNewFile();tes.getTestLogManager().reportMessage("Creating Lock File");}catch (IOException e) {e.printStackTrace();} break;}}return null;}

以下清单是释放锁定的自定义代码(删除连接锁定文件)。 这应该在用户成功登录后运行。

释放连接锁的示例代码

... public String exec(ITestExecutionServices tes, String[] args) {File connectionLock = new File("C://path//to//lockFile"); if(connectionLock.exists()){tes.getTestLogManager().reportMessage("Removing login lock file"); connectionLock.delete();}return null;}

注意:还有其他方法可以使用自定义代码实现锁定,例如使用执行引擎数据区域。

结论

Citrix性能测试具有挑战性,即使对于有经验的开发人员也是如此。 设置客户端系统以及Rational Performance Tester与Citrix ICA Client Simulation API的交互可能会很复杂。 在本教程中,您了解了一些常见问题以及这些问题的解决方案。 使用此信息和Rational Performance Tester知识中心来解决Citrix性能测试项目中可能出现的一些障碍。

翻译自: /developerworks/library/d-rational-citrix-troubleshooting-trs/index.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。