我正在与许多用户一起制作一个应用程序。
然而,我被困在“规模扩大,以充分利用系统资源”。我希望你能理解我引用的那部分是什么意思。如果没有,也许我可以在将来澄清。
该应用程序支持SCTP通信量约为50k消息/秒。
我用的是10名主管,有很多程序都是在下岗的。
一些分发服务器用于将SCTP消息通过进程id传递给工作人员。
分销商工作顺利,没有任何延误,没有任何信息。
工人们不得不做一些工作,这样我就可以看到分销商的消息队列长度增加了。
但是,工人和主管们正在“抓紧时间”。
我可以通过观察者捕捉到这种情况,所有调度器线程都很忙(红色100%) (我使用的是32核和64 GB RAM的芯片组)。
同时,CPU负载和RAM消耗也不高(使用htop命令)。
那么,你能告诉我如何打开这个应用程序来利用几乎系统的资源吗?
似乎OTP 18有一些瓶颈?
谢谢你,杜克。
发布于 2018-04-12 02:05:53
谢谢你花时间调查这篇文章。抓住你了!我发现了这个问题,它属于Mnesia的读/写性能(我没有提到我正在使用Mnesia进行DB管理)。我读过很多关于Mnesia性能的文章。以我的经验,可以说: Mnesia带片段会给我们一个最好的表现,比mnesia更多: mnesia:async_dirty或ets。
干杯,杜克
https://stackoverflow.com/questions/49765228
复制相似问题