您的位置:首页 > 其它

HyperPacer运行时内存配置与优化

2016-04-15 13:36 337 查看
HyperPacer采用Java JVM做为运行时引擎,运行版本要求Oracle JDK1.7.x及其以上版本,默认配置文件为HyperPacer.ini(Windows和Linux在程序文件根目录下,MacOS上比较特殊,在Contents\MacOS目录下),其中已经内置了常见优化参数及其默认值,一般在开发调试脚本过程中不需要修改,运行大并发测试时用户只需要修改-Xms和-Xmx即可。

修改默认JVM:
HyperPacer默认读取程序目录下jre文件中的JVM程序,如果没有则读取操作系统环境变量中配置的JVM,也可以通过配置指定运行的JVM,在ini配置文件中的-vmargs前增加一行,输入-vm, 回车,在下一行输入JVM可执行文件的路径,如Window下,C:\Program Files\jdk1.7.0_79\bin\java.exe,Linux下,/opt/jdk1.7.0_79/bin/java,注意Linux系统默认安装Open JDK,我们是不支持的,需要安装配置成Oracle
JDK。

修改默认内存大小:
对于不熟悉JVM的人来说,需要注意的是JVM的内存管理策略与Windows 系列不同,JVM采用的是最小资源配置策略,Windows系列默认采用最大资源配置策略。Windows系列的好处是用户不需要关心内存配置,有多少内存就能用完多少,坏处是内存使用不受控制;JVM默认配置了能够满足基本运行条件的内存,不同的平台上默认值不一样,坏处是使用过程中需要用户进行内存优化配置,当然好处是内存使用是可控的。HyperPacer涉及到的主要参数如下:

-Xms:启动JVM时分配的最小堆内存,默认512M。
-Xmx:JVM运行过程中能够使用的最大堆内存,默认512M。

设置多大合适取决于脚本的复杂度、运行脚本和并发用户的数量,没有统一参考的标准,需要在运行脚本的过程中不断监控内存使用情况,才能找到合适的大小。至于怎么监控,JDK提供了jconsole、jmc、jvisualvm等工具,在此不再赘述,可找度娘帮忙。
在脚本调试过程中,HyperPacer默认的参数绝大多数情况下能够满足脚本开发和调试的情况了,如果发现内存不足,可以增加-Xmx的大小,在正式的脚本运行过程中,为了保证测试过程的稳定性,建议将-Xms和-Xmx设置成一样的大小。

由于Java 8 中已经删除了持久代,如果使用Java 8,启动的时候可能提示PermSize已经被移除,可直接删除HyperPacer.ini中的-XX:PermSize和-XX:MaxPermSize。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: