erlang

erlang 虚机CPU 占用高排查

-问题起因

近期线上一组服务中,个别节点服务器CPU使用率很低,只有其他1/4。排除业务不均,曾怀疑是系统top统计错误,从 Erlang调度器的利用率调查  找到通过erlang:statistics(scheduler_wall_time) 查看服务器CPU低的机器调度器实际的CPU利用率很高接近100%,而其他机器都不到30%。

分析不同业务服务,发现只有在node 中进程数采用调度器CPU利用低这个问题。…

            

erlang高并发的优化

Ejabberd官网上Performance Tuning有一写关于优化的clue,这些参数可以在ejabberdctl.cfg里面修改

Erlang Ports Limit: ERL_MAX_PORTS  建议使用,调的大一些
Erlang consumes one port for every connection, either from a client or from another Jabber server. The option ERL_MAX_PORTS limits the number of concurrent connections and can be specified when starting ejabberd:
erl 
        

centos 安装编译erlang

cd /opt
ls
wget http://www.erlang.org/download/otp_src_17.5.tar.gz
tar zvxf otp_src_17.5.tar.gz
cd otp_src_17.5
yum install unixODBC-devel
./otp_build autoconf (安装最新版:opt_22需要加这行)
./configure --prefix=/opt/erlang --without-javac
make
make install
vi /etc/profile
export PATH=$PATH:/opt/erlang/bin
source /etc/profile(使修改生效)
erl

 

如果

出现错误大致为:  No curses library functions found
5. 需要安装ncurses   :