当我用jmeter来测试elasticsearch性能的时候,发生过两种性质的内存溢出。
1. index
由于数据流过大,内存使用超过jmeter默认的上限,就溢出了。
用记事本打开jmeter.bat文件,里面修改如下:
set HEAP=-Xms256m -Xmx4g set NEW=-XX:NewSize=128m -XX:MaxNewSize=1024m set NEW指的是每个线程占用的内存set HEAP指的是累积线程占用的内存 set PERM=-XX:PermSize=1024m -XX:MaxPermSize=1024m
2. bulk
由于我当时一次bulk装了1000条请求,而且还有变参是从磁盘文件上获取数据的。这个时候,本地磁盘IOPS过大,成为瓶颈,导致内存持续增大,直至突破上限,内存溢出。
所以我要做的,就是减少IOPS,我就把变参一律改为random生成,不再读磁盘文件,内存达到一个阙值,便不再增长,问题解决。
时间: 2024-09-29 16:42:41