加压测试笔记

好几年前,做个测试场景,在一个main_sup下挂载sup和worker,在sup下动态挂载worker。压测:

动态挂载多少个woker。

 

测试加压机:1)硬件: 8核16G; 2) 方式:rpc:cast/4,rpc异步接收

 erlang VM 启动参数设置:

 a). 开了2W个ets表, +ETS_MAX_TABLE

 b). +p  最大进程数开了50W

 c). +W 加了 error_log 开启

 d). +A 开了 epoll 机制

压测: 承载动态添加的worker实例大约近8K个,开启到1w个后,会在lager中的message_queue等待队列 time_out。

 

分析:rpc为单进程(gen_server)会阻塞,导致发送进程挂起。增加了 +zdbb/size 后,依然压测效果不是很明显。

把rpc的方式换成 Pid !Msg方式,或者在receive的时候,修改增加超时时间.

receive ......

   after xxx ->

     todo

end.

 

posted @ 2018-08-20 14:45  孤独信徒  阅读(328)  评论(0)    收藏  举报