11.11.2. 当执行各种设定负载测试¶
- intra-mart 项目介绍在intra-mart Accel Platform上进行负载测试时需要更改的项目 。
项目
11.11.2.1. Resin JVM选项设置¶
更改JVM选项设置,例如Java堆大小。设置示例(设置和选项设置)jvm_args:-Xmx2048m -Dfile.encoding = UTF-8注意
在Linux OS中,当未在JVM选项中指定临时目录时,将使用“ / tmp”,并且通过设置cron等将定期删除“ / tmp”下内容的设置设为标准。可能是在Resin中,当检测到在工作目录中扩展的设置文件等发生更改时,可以自动执行重新启动,为避免这种情况,请执行以下设置。jvm_args:-Xmx2048m -Dfile.encoding = UTF-8 -Djava.io.tmpdir = / var / resin-tmp*必须事先创建在-Djava.io.tmpdir中指定的目录并设置权限。
11.11.2.2. 以任何用户身份登录的设置¶
通过禁用Secure Token设置并通过在“ http://主机名:端口号/上下文路径/证书 ”中指定参数进行访问,可以对任何用户进行身份验证。对于设置方法,请注释掉WEB-INF /conf/token-filtering-target-config/im_certification.xml的“ /证明”。详细内容如下。WEB-INF / conf /令牌过滤目标配置/ im_certification.xml<p:入口url =“ /认证”> ↓ <!-<p:入口url =“ /认证” />->现在,您可以使用以下URL登录。http://主机名:端口号/上下文路径/证书?im_user =(用户名)&im_password =(密码)另外,还可以通过添加“&im_url”属性,在自动登录后转换到任何应用程序的屏幕。http://主机名:端口号/上下文路径/证书?im_user =(用户名)&im_password =(密码)&im_url =(登录后显示的路径)注意
默认处于禁用状态,通过更改此设置,您可以使用URL参数和POST请求登录并执行任何应用程序,因此,如果将其用于操作,则从安全性的角度来看这是一个问题。请确认没有后再使用。
11.11.2.2.1。禁用多重要素验证验证的验证码验证的设置¶
当启用了多重要素验证功能,启用将需要多重要素验证的用户与用户代码和密码验证后输入确认码。要禁用此验证码的验证功能并将验证设置为“ OK”(即使输入了任何验证码),请设置以下系统属性。-Djp.co.intra_mart.system.mfa.extension.app_auth.service.impl.TOTPAuthCodeVerifier.ignore_token_check = true
11.11.2.3. 用于测试使用jsspRpc(已弃用的表单标签)的业务屏幕的设置¶
在jsspRpc中,每次都会使用普通Session执行令牌检查,因此每次登录时令牌检查所需的参数值都会更改。因此,即使在生成负载测试方案时传递了相同的请求参数,也会发生错误。为了避免这种情况,请编辑WEB-INF / web.xml并将SecureJSSPServlet和jsspRpcServlet的servlet参数“ security”的值更改为“ false”。WEB-INF / web.xml<servlet> <servlet-name> SecureJSSPServlet </ servlet-name> <servlet-class> jp.co.intra_mart.system.servlet.jssp.SecureJSSPServlet </ servlet-class> <init-param> <param-name>安全性</ param-name> <param-value> false </ param-value> </ init-param> </ servlet> <servlet> <servlet-name> JsspRpcServlet </ servlet-name> <servlet-class> jp。 co.intra_mart.system.servlet.jssp.JsspRpcServlet </ servlet类> <init-param> <param-name>安全性</ param-name> <param-value> false </ param-value> </ init- param> </ servlet>
11.11.2.4. 用于假设多重访问的测试设置¶
设置以下值以进行多重访问的情况下进行测试。
请求控制intra-mart Accel Platform具有限制可以同时执行的请求数的功能。在执行多个用户同时进行访问的测试时,会达到此限制,并且可能会发生错误,因此请调整该限制。要删除服务器并发处理限制,请在请求控制设置的线程标记的max属性中指定“ 0”。WEB-INF / conf / request-control-config.xml<request-control-config> <thread max = “ 0” > ... </ thread> </ request-control-config>有关请求控制设置,请参阅“ 配置文件参考 ”-“ 服务器同时处理的限制 ”。
到数据源的最大连接数取决于应用服务器,到数据库的同时连接数可能会受到限制。在应用程序服务器的数据源设置中,检查可以同时连接的号码是否足够。将Resin用于应用程序服务器时,可以通过编辑resin-web.xml进行更改。 树脂Thread数如果要增加Resin Thread,请更改以下文件的相应部分。<%RESIN_HOME%> / conf / resin.properties#限制端口port_thread_max的活动线程数:256 accept_thread_max:32 accept_thread_min:4#keepalive_max:512
11.11.2.5. 在集群环境下执行负载测试的设置¶
设置以下值以在群集环境下执行负载测试。
最大通信Thread必须设置用于服务器到服务器通信的最大Thread数。作为准则,请将构成群集组的服务器数量设置为两倍。服务器之间的通信是通过在后端创建Thread来完成的。如果组成群集组的服务器数量增加,则Thread数量可能变得不足,并且服务器之间的通信可能无法进行。如果在负载测试期间确认了这种现象,请调整此设置。默认值为10。执行多播设置时, 默认值为8。有关最大通信Thread数的详细内容 , 请参考“ 配置文件参考 ”-“ 最大通信Thread ”。WEB-INF / conf /网络代理-config.xml<network-agent-config> <max-threads> 10 </ max-threads> </ network-agent-config> 到达确认/重新发送的最大通信Thread数必须设置用于通信的Thread数,例如到达确认和重新发送。与通信Thread的最大数量类似,将其设置为准则,是组成群集组的服务器数量的两倍。如果组成群集组的服务器数量增加,则Thread数量可能会变得不足,并且服务器之间的通信可能无法进行。如果在负载测试期间确认了这种现象,请调整此设置。省略时的默认值为8。有关到达确认/重新发送的最大通信Thread数的详细内容 , 请参阅“ 配置文件参考 --” 到达确认/重新发送的最大通信Thread数 ”。WEB-INF / conf /网络代理-config.xml<network-agent-config> <max-oob-threads> 8 </ max-oob-threads> </ network-agent-config> Session管理内置的Hazelcast集成-通信Thread号设置Session管理内置的Hazelcast集成时,有必要单独设置集群组中用于通信的Thread数。读写Session时将使用此处设置的Thread数。在我们公司,负载测试是通过设置组成集群组的服务器数量来执行的。因此,请设置组成群集组的服务器数量作为指导。如果您能够确认负载测试期间Session的读取或写入被延迟,请调整此设置。省略时的默认值为3。有关通信Thread编号设置的详细内容,请参阅“ 配置文件参考 ”-“ 通信Thread设置编号 ”。WEB-INF / conf / hazelcast-config.xml<hazelcast-config> <base> <io-thread-count> 3 </ io-thread-count> </ base> </ hazelcast-config>
注意
以上的设置,执行负载测试时,需要的设置项目是。在生产环境中,请确保对环境进行适当的设置。