准备工作:
环境:看一下测试环境,主要看文件打开数是否限制: ulimit -a , 看 “open files” 的数量是否够
- 文件打开数设置方法:设置完成以后重新登录
修改/etc/security/limits.conf 添加如下一行: * - nofile 301024 修改/etc/pam.d/login添加如下一行,根据操作系统的32位、64位分别选择一行 session required /lib/security/pam_limits.so #32bit session required /lib64/security/pam_limits.so #64bit
- 大量状态为TIME-WAIT的TCP连接、以及本地端口不够的修改方法
编辑/etc/sysctl.conf文件,增加下面几行: net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.netfilter.ip_conntrack_max = 1048576 再执行以下命令,让修改结果立即生效: /sbin/sysctl -p
了解测试工具
性能测试工具下载: [^venus-benchmark-3.2.16-distribution.zip]
解压,进入目录,执行 bin/benchmark --help,根据提示填写相应的参数,
展示如下信息:
参数解说:
参数名 | 属性值 | 描述说明 |
---|---|---|
d | 可以不填,只要带了这个参数,则表示输出交互的数据包信息 | |
P | 端口号(必填) | 远程服务器端口号 |
h | 主机名或者Ip地址(必填) | 远程服务器ip地址或者主机名 |
c | 数字(必填) | 并发连接数,根据业务具体来测试,单台机器一般不要超过50000 |
n | 数字(必填) | 总共测试多少次请求 |
f | 请求文件(必填) | 具体请看例子 query/helloService-getHello.xml |
s | 序列化方式(默认:0) | 序列化方式:0为json,1为bson |
u | 用户名 | 如果venus Server 设置了用户名密码认证方式,需要填写该参数 |
p | 密码 | 如果venus Server 设置了用户名密码认证方式,需要填写该参数 |
t | 超时时间(单位:秒) | 如果venus在这个时间内无响应则会多一个超时 |
C | 请求环境文件(可选) | 具体请看例子 query/helloService-getHello.xml,也可以参阅 amoeba中的benchmark(http://docs.hexnova.com/amoeba/ch06s04.html ) |
添加评论