Linux Erlang NUMA技术配置
我试图在openstack vm上运行erlang应用程序,但性能非常差。测试后,我发现NUMA出现了一些问题,这就是我在测试中观察到的情况 我的openstack计算主机具有32核,因此我在其上创建了30个vCPU核心vm,具有所有NUMA感知,当我在此vm上运行Erlang应用程序基准测试时,性能最差,但随后我创建了具有16个vCPU核的新vm(在本例中,我的所有vm cpu固定在NUMA-0节点上),在本例中,基准测试结果非常好 基于上面的测试,很明显,如果我将VM保持在单个numa节点上,那么性能会更好,但当我将其分散到多个numa区域时,性能会更差 但有趣的是,当我在裸机上运行同一个erlang应用程序时,性能确实很好,所以试着理解为什么在VM上运行的同一个应用程序性能不好Linux Erlang NUMA技术配置,linux,performance,erlang,openstack,numa,Linux,Performance,Erlang,Openstack,Numa,我试图在openstack vm上运行erlang应用程序,但性能非常差。测试后,我发现NUMA出现了一些问题,这就是我在测试中观察到的情况 我的openstack计算主机具有32核,因此我在其上创建了30个vCPU核心vm,具有所有NUMA感知,当我在此vm上运行Erlang应用程序基准测试时,性能最差,但随后我创建了具有16个vCPU核的新vm(在本例中,我的所有vm cpu固定在NUMA-0节点上),在本例中,基准测试结果非常好 基于上面的测试,很明显,如果我将VM保持在单个numa节点上
在虚拟机上运行时,erlang中是否有更适合NUMA的设置?erlang可能无法正确检测VM的cpu拓扑 您可以使用hwloc包中的
lscpu
和lstopo no graphics
检查VM看到的cpu拓扑:
#lscpu | egrep '^(CPU\(s\)|Thread|Core|Socket|NUMA)'
#lstopo-no-graphics --no-io
如果它看起来不正确,请考虑使用OpenStack选项重建VM,如<代码> HW:CPU-TRAIDS=2 HW:CPU-Sosits=2 < /代码>,如
在Erlang方面,您可以尝试使用Erlang虚拟机选项
+sct
,+sbt
,如所述。谢谢您的提示,我将试一试并与您联系。。