• jmeter内存溢出


    当我用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生成,不再读磁盘文件,内存达到一个阙值,便不再增长,问题解决。

    3. 还有一种就是jmeter工具本身对内存的占用。监听器越多,内存开销越大,因为记录数据都暂时放在内存中的。故而如果发现内存消耗持续增长,可查看下开了多少监听器,尤其是结果树、表格查看结果等消耗内存很大。可考虑关闭一些不必要的,我一般仅仅使用summary report和图形结果。

  • 相关阅读:
    9个开源支付项目,用来学习如何实现支付功能
    documentdb
    Azure Redis
    Azure Diagnostics
    Content Delivery Network (CDN)
    MVVM design pattern
    Azure Cloud Application Design and Implementation Guidance performance-optimization
    Azure Nosql
    设计原则与模式
    C# Yield
  • 原文地址:https://www.cnblogs.com/jiu0821/p/6097547.html
Copyright © 2020-2023  润新知