美文网首页大数据学习+数据库知识
Gauss DB 场景与性能测试之 7- (OLTP) 空间包含

Gauss DB 场景与性能测试之 7- (OLTP) 空间包含

作者: Kindey_S | 来源:发表于2020-03-18 18:47 被阅读0次

    环境

    server端说明 描述
    服务器 华为泰山 2280 v2
    操作系统 Cent OS 7.6 aarch64
    数据库版本 GaussDB_200_6.5.1_RHEL_ARM64
    cline说明 描述
    测试机 PC【CPU*8 内存*16G 硬盘*512G(ssd)】
    操作系统 win10
    测试工具 Data Studio 6.5.1
    测试工具 apache-jmeter-5.2.1

    场景 - 空间包含 (OLTP)

    背景

    Gauss DB继承与pgsql,因此也包含pgsql的大部分有点,包括几何类型。几何类型的应用场景还是非常广泛的,例如一个店家(坐标)是否包含于哪些商圈(几何图形)中。

    设计

    随机一个坐标点,1000W个几个图形。

    1. 1个用户,1s内并发,查询1000次。
    2. 10个用户,1s内并发,查询1W次。
    3. 100个用户,10s内并发,查询10W次。

    准备

    • 创建测试表
    create table t_test07_01 (  
      id int primary key,  
      cc circle  
    );
    

    -- 准备测试数据

    insert into t_test07_01 (id,cc)
    with t as (
    select id,trunc(random()*1000)::int x,trunc(random()*1000)::int y,trunc(random()*100)::int r
    from generate_series(1,10000000) t(id)
    )
    select id,circle(point(x,y),r) cc
    from t;
    
    create index idx_t_test07_01 on t_test07_01 using gist(cc);
    
    • 测试语句
    select * from t_test07_01 where cc @> point(${rX},${rY})
    

    配置jmeter

    • 创建Thread Group


      1用户
      10用户
      100用户
    • 创建jdbc连接


    • 创建x坐标随机数


    • 创建y坐标随机数


    • 创建JDBC Request


    • 添加结果监控


    测试结果

    1用户
    10用户
    100用户
    • 如上图,从JMeter的监控看,总体运行稳定,排除测试工具性能瓶颈影响测试结果的可能性。


      1用户
      10用户
      100用户
    • 如上图,在测试期间,数据库资源使用情况明显增加。在1用户和10用户的测试中总体运行稳定,压力没有达到数据库性能瓶颈。100用户测试中CPU使用持续处于100%状态,达到性能瓶颈。


      1用户
      10用户
      100用户
    • 从上图测试结果来看,1用户和10用户并发测试中,基本响应时间在500ms左右,10用户并发比1用户的时候略高,基本满足业务需求;100用户并发的情况下,响应时间达到了3s,部分响应时间达到5s,不能满足业务要求,结合测试过程中数据库监控中的资源使用情况分析,CPU成为瓶颈,结合10用户的数据库监控中的主机CPU使用率推断,目前的系统配置大概能支撑峰值不高于20连接并发。


      1用户
      10用户
      100用户

    相关文章

      网友评论

        本文标题:Gauss DB 场景与性能测试之 7- (OLTP) 空间包含

        本文链接:https://www.haomeiwen.com/subject/ucvcyhtx.html