构建一条消息,消息体13个字符,发送100万条消息。
服务器 | 启动参数 | 启动 | 发消息速率 | 收消息速率 | 内存占有率 |
99(15G) 外网 | -server –Xms8g –Xmx8g –Xmn4g | 启动失败 | ---- | ---- | ---- |
-server –Xms4g -Xmx4g –Xmn512m | 启动正常 | 350条/秒 | 910条/秒 | Broker:27.5% Namesrv:1.5% | |
-server –Xms2g –Xmx4g –Xmn2g | 启动正常 | 35条/秒 | 853条/秒 | Broker: 14.4% Namesrv: 1% | |
104(15G) 内网 | -server –Xms8g –Xmx8g –Xmn4g | 启动正常 | 370条/秒 | 7700条/秒 | Broker: 57.5% Namesrv: 1.8% |
-server –Xms4g -Xmx4g –Xmn512m
| 启动正常 | 310条/秒 | 12000条/秒 | Broker: 28.0% Namesrv: 1.2% | |
-server –Xms2g –Xmx4g –Xmn2g | 启动正常 | 240条/秒 | 1900条/秒 | Broker: 14.5% Namesrv: 1.2% |
结论:
JVM的启动参数对接受消息的影响不是很大,对发消息和占用系统内存资源的影响比较大,综合分析,建议启动参数设置为-server –Xms4g -Xmx4g –Xmn512g就可以了。这时发送消息100W条消息耗时50分钟左右。