【金仓数据库】kingbase ES性能提升之传输压缩

这篇具有很好参考价值的文章主要介绍了【金仓数据库】kingbase ES性能提升之传输压缩。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

数据库应用场景复杂且多样,本文介绍金仓数据库在网络条件较差(小于10MB/s)场景,提供传输压缩特性进行性能提升。


一、为什么需要传输压缩

当应用需要并发查询大量结果集时,容易出现网络资源争用问题。造成服务端CPU空闲而网络繁忙的状况,因为大结果集需要占用非常多的网络带宽,从而导致网络带宽称为系统性能瓶颈。
针对这种场景kingbaseES提供了传输压缩特性,即利用数据库服务侧CPU资源,对查询的数据结果集进行压缩打包后再通过网络传输。减少网络资源排队,提高CPU在网络资源排队时利用率,从而提升整体查询性能。一共提供了0-9个压缩等级,0表示关闭压缩。数字越大表示压缩级别越高,压缩后的传输数据量越小,对应CPU消耗越高。

二、什么场景使用传输压缩

在应用需要并发查询大量结果集,跨网段传输,网络条件差时,建议使用传输压缩特性。kingbaseES传输压缩特性是针对在网络传输低于10MB/s场景进行使用。可以使用scp命令拷贝大文件测试网络传输速度,例如下场景(scp速率为450KB/s):
【金仓数据库】kingbase ES性能提升之传输压缩

三、怎么进行传输压缩

选取500条数据,5分钟并发查询,使用jmeter进行对比验证,使用传输压缩特性和不使用传输压缩特性性能验证。

前提条件

  • 配置kingbaseES数据库服务侧,传输压缩特性所需so环境变量
    【金仓数据库】kingbase ES性能提升之传输压缩

  • 将数据库安装包中提供的“kingbase8-8.6.0.jar”包,拷贝至jmeter工具bin目录
    【金仓数据库】kingbase ES性能提升之传输压缩

  • 将传输压缩jmeter工具所需so拷贝至jmeter的lib目录,并配置环境变量
    【金仓数据库】kingbase ES性能提升之传输压缩

测试验证

步骤一:数据准备,500条测试数据,表结构及数据如下:
【金仓数据库】kingbase ES性能提升之传输压缩
步骤二:配置jmeter压测JDBC参数,不使用传输压缩特性
jdbc:kingbase8://xxx.xxx.xxx.xxx:port/perf_test
【金仓数据库】kingbase ES性能提升之传输压缩

步骤三:配置jmeter压测查询参数,40并发,循环查询3分钟
【金仓数据库】kingbase ES性能提升之传输压缩
步骤四:运行jmeter压力测试脚本,观察数据库服务CPU及网络情况

  • 数据库测
    【金仓数据库】kingbase ES性能提升之传输压缩

  • 客户端段侧
    【金仓数据库】kingbase ES性能提升之传输压缩
    【金仓数据库】kingbase ES性能提升之传输压缩
    步骤五:脚本执行完成后,查看“聚合报告”,jmete测试结果
    【金仓数据库】kingbase ES性能提升之传输压缩
    【金仓数据库】kingbase ES性能提升之传输压缩
    步骤六:配置jmeter压测JDBC参数,使用传输压缩特性,并运行jmeter脚本
    jdbc:kingbase8://xxx.xxx.xxx.xxx:port/perf_test?ziplevel=2
    【金仓数据库】kingbase ES性能提升之传输压缩
    观察服务器和客户端侧CPU及网络情况

  • 数据库侧
    【金仓数据库】kingbase ES性能提升之传输压缩

  • 客户端侧
    【金仓数据库】kingbase ES性能提升之传输压缩
    【金仓数据库】kingbase ES性能提升之传输压缩
    步骤七:查看数据库服务CPU及网络情况,脚本执行完成后,查看“聚合报告”数据,jmeter测试结果
    【金仓数据库】kingbase ES性能提升之传输压缩
    【金仓数据库】kingbase ES性能提升之传输压缩

测试结果对比分析

是否压缩 Samples Average 95% Line Throughput Received
不使用传输压缩 80 180042 197308 12.9/min 1722.86
使用传输压缩 905 13420 15275 174.0/min 23569.04

对比分析是否使用传输压缩特性测试两组测试数据,使用传输压缩比不使用传输压缩:

  1. 响应时间提升92.26%,吞吐率提升92.69%。
  2. 网络传输带宽未明显变化,CPU利用率增加90%左右。
  3. 可见在网络传输条件较差,而CPU比较空闲的场景。使用kingbase ES提供的传输压缩特性,查询性能会有较大幅度提升,可以有效解决在特殊场景下的性能问题。

四、尝鲜小妙招

如果您想先试一试kingbase ES提供的传输压缩功能,可以移步人大金仓官方网站下载V8R6版本数据库安装包并完成安装。然后按如下方式“制造”网络堵塞现场:
参考命令如下:
删除限速:
/sbin/tc qdisc del dev em1 root tbf rate 1mbit latency 50ms burst 30k

添加限速:
/sbin/tc qdisc add dev em1 root tbf rate 1mbit latency 50ms burst 30k #scp带宽约为12.5MB/s
/sbin/tc qdisc add dev em1 root tbf rate 512kbit latency 50ms burst 30k #scp带宽约为6MB/s

删除限速:
/sbin/tc qdisc del dev em1 root tbf rate 1mbit latency 50ms burst 30k

【金仓数据库】kingbase ES性能提升之传输压缩
参数说明:文章来源地址https://www.toymoban.com/news/detail-410889.html

  • burst :桶的大小,指定了最多可以有多少令牌能够即刻使用,若令牌数量不够可能会导致网口不可用,通过重启服务器解决。
  • mbps和MB/s单位转换
    Mbps(Mb/s):每秒传输的位数量(b:bit)
    MB/s:每秒传输的字节数量(B:Byte)
    1Byte=8bit,8Mbps=1MB/s

到了这里,关于【金仓数据库】kingbase ES性能提升之传输压缩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解数据库分片,大幅提升Spring Boot查询MySQL性能

    微服务项目中通常包含各种服务。其中一项服务与存储用户相关的数据有关。我们使用Spring Boot作为后端,使用MySQL数据库。 随着用户基数的增长,服务性能受到了影响,延迟也上升了。由于只有一个数据库和一张表,许多查询和更新由于锁异常返回错误。此外,随着数据库

    2024年01月16日
    浏览(58)
  • kingbase:数据库启动状态

    1  启停KingbaseES数据库 Linux下通过系统服务: root用户执行:   Linux下通过安装用户: 安装用户执行:   2  查看数据库当前进程状态 通过命令 ps –ef |grep kingbase 查看,kingbase进程是否存在,如下图所示,则为正常开启状态,否则不是。蓝色标注为主进程。   3  端口的查看

    2024年02月14日
    浏览(39)
  • 【Kingbase8数据库】springboot jpa集成Kingbase8各种报错

    Access to DialectResolutionInfo cannot be null when ‘hibernate.dialect’ not set 去了stackoverflow: java - Spring Boot JPA - Access to DialectResolutionInfo cannot be null when ‘hibernate.dialect’ not set - Stack Overflow 不是PostgreSQL,那就换成mysql的嘛: spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Kingbase8Dialect Co

    2024年02月12日
    浏览(48)
  • 人大金仓分析型数据库配置数据库参数

    目录 前言 设置配置参数 设置本地配置参数 设置master配置参数  设置系统级别参数  设置数据库级别参数  设置角色级别参数  设置会话级别参数  查看服务器配置参数设置          据库的配置文件postgresql.conf 位于数据库实例的数据目录之下。master和每一个 实例都有自

    2024年02月09日
    浏览(59)
  • 金仓数据库KStudio使用手册(3. 数据库管理)

    目录 3.1. 数据库连接管理 ¶ 3.1.1. 连接的创建,编辑 ¶ 3.1.2. SSL链接配置 ¶ 3.1.3. 驱动属性 ¶ 3.1.4. 参数中的变量 ¶ 3.1.5. 连接、断开连接与重新连接 ¶ 3.2. 导航树 ¶ 3.2.1. 对象的过滤 ¶ 3.2.2. 对象的分页 ¶ 3.3. 数据库对象管理 ¶ 3.3.1. 数据库对象的创建和编辑 ¶

    2023年04月17日
    浏览(50)
  • 金仓数据库模拟题

    1、 在KingbaseESv8的数据目录中,系统表保存在哪个目录下()? [单选题] * A.base B.global(正确答案) C.sys_tblspc D.audit 2、以下哪些进程是KingbaseESv8的后台进程() ? [单选题] * A.checkpointer(正确答案) B.kworker C.es_server D.sys_ctl 3、下列属于KingbaseES的共享缓存区的是() ? [单选题] * A.wo

    2024年01月21日
    浏览(52)
  • [开发|数据库] java程序人大金仓数据库适配笔记

    需要去人大金仓https://www.kingbase.com.cn/qd/index.htm下载linux版iso文件和授权文件(license-企业版-90天)。 iso文件需要挂载在指定目录下。 参考:(https://www.cnblogs.com/bluestorm/p/16941812.html)。 人大金仓数据库安装过程中出现乱码/内容不显示是因为jdk版本不匹配,通过asdf更换java版本为

    2024年02月12日
    浏览(53)
  • ​ 金仓数据库KingbaseES数据库如何启停和重启

    数据库、启动数据库、停止数据库、重启数据库 在访问数据库之前,必须启动数据库服务器。可通过命令: ps -ef|grep kingbase 查看数据库服务器当前是否处于启动状态。如下图所示,kingbase进程存在且为正常开启状态,否则数据库服务器未启动。蓝色标注为主进程。 通过king

    2024年02月05日
    浏览(57)
  • 人大金仓数据库KingbaseES安全概述

    一、数据库安全性概述 1、数据库安全性就是指保护数据库以防止不合法使用所造成的数据泄露、更改或者破坏。 2、数据库不安全因素: · 计算机系统安全性 · 非授权用户对数据库的恶意存取和破坏 · 数据库中重要或敏感的数据被泄露 · 安全环境的脆弱性 3、数据库安全标

    2024年02月03日
    浏览(53)
  • 金仓数据库面临的安全方面威胁

    2.1. 关于数据库安全威胁¶ STRIDE是微软开发的用于威胁建模的一套方法论,通过此方法可识别可能影响应用程序的威胁、攻击和漏洞,进而设计对应的预防对策。STRIDE 威胁代表六种安全威胁:身份仿冒(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information Disc

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包