在正常操作期间,Gatling会消耗大量的打开文件句柄。通常,操作系统会限制此数量,因此您可能必须在所选操作系统中调整一些选项,以便可以打开许多新套接字并实现高负载。
打开文件限制大多数操作系统都可以使用该命令更改打开文件限制。例:ulimit -n
$ ulimit -n 65536
但是,这只会更改当前shell会话的限制。在系统范围内,永久性地更改限制因系统而异。
要为系统的所有用户永久设置软值和硬值,以允许最多65536个打开文件; 编辑/etc/security/limits.conf并附加以下两行:
* soft nofile 65535 * hard nofile 65535
保存文件。启动新会话以使限制生效。您现在可以验证是否正确设置了限制。ulimit -a
对于Debian和Ubuntu,您应该启用PAM用户限制。为此,请添加:session required pam_limits.so
/etc/pam.d/common-session
/etc/pam.d/common-session-noninteractive 如果文件存在
/etc/pam.d/sshd 如果您通过SSH访问该计算机
另外,如果访问通过SSH的机器,一定要具有在UseLogin yes``/etc/ssh/sshd_config
要进行更多调整,您可能需要执行以下操作:
# more ports for testing
sudo sysctl -w net.ipv4.ip_local_port_range="1025 65535"
# increase the maximum number of possible open file descriptors:
echo 300000 | sudo tee /proc/sys/fs/nr_open
echo 300000 | sudo tee /proc/sys/fs/file-max
考虑调整内核和网络,并在/etc/sysctl.conf中添加以下这些设置:
net.ipv4.tcp_max_syn_backlog = 40000
net.core.somaxconn = 40000
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_mem = 134217728 134217728 134217728
net.ipv4.tcp_rmem = 4096 277750 134217728
net.ipv4.tcp_wmem = 4096 277750 134217728
net.core.netdev_max_backlog = 300000
您可以离线下载Gatling。然后,您只需要一个文本编辑器(Scala语法高亮)来编辑模拟,您就可以从命令行启动Gatling。
查看我们的以获取下载链接。
将下载的包解压缩到您选择的文件夹中。使用bin目录中的脚本启动Gatling和Recorder。
Windows用户:我们建议您不要将Gatling放在“ Programs”文件夹中,因为可能存在权限和路径问题。
要运行Gatling,您需要安装JDK。加特林至少需要JDK8。然后,我们建议您使用最新版本。
Gatling启动脚本和Gatling maven插件会在JAVA_HOMEenv var中设置它。
与OSX一样,操作系统有自己的棘手方法来发现要运行的Java版本,因此最终可能会运行与您告诉您的版本不同的版本。如果您遇到奇怪的错误,并且您希望运行JDK8,则可能需要明确设置JAVA_HOME。java -version``Unsupported major.minor version 51.0
使用构建工具 MavenGatling提供了一个名为gatling-maven-plugin的官方maven 插件。这个插件允许您编译Scala代码并启动Gatling模拟。
有了这个插件,Gatling可以在构建项目时启动,例如使用您最喜欢的CI解决方案。
Versions查看Maven Central上的可用版本。
请注意,OSS用户未记录里程碑(M版本),仅针对专业版客户发布。
Setup在你的pom.xml,添加: