iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何压测mysql5.6中audit.log插件性能损耗
  • 124
分享到

如何压测mysql5.6中audit.log插件性能损耗

2024-04-02 19:04:59 124人浏览 薄情痞子
摘要

下面一起来了解下如何压测Mysql5.6中audit.log插件性能损耗,相信大家看完肯定会受益匪浅,文字在精不在多,希望如何压测mysql5.6中audit.log插件性能损耗这篇短内容是你想要的。&nb

下面一起来了解下如何压测Mysql5.6中audit.log插件性能损耗,相信大家看完肯定会受益匪浅,文字在精不在多,希望如何压测mysql5.6中audit.log插件性能损耗这篇短内容是你想要的。

    测试虚拟机环境:

    主机:

    CPU:Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz 4核

    内存:1G

    磁盘:SCSI硬盘 10G

    数据库

    版本:5.6.34

    参数: innodb_buffer_pool_size = 128M、 innodb_io_capacity = 2000

    

    以下是我的测试脚本:cat for_sysbench.sh

#!/bin/sh
time=3600
#0.0
for thread in {16,32,64,128,256}
do
echo "now the number of theads is $thread"
echo "============================================================================================================================================"
/bin/sh /home/linzj/shell/mysql.sh restart
sleep 30
sysbench --test=oltp --mysql-host=192.168.110.100 --mysql-port=3306 --mysql-user=root --mysql-passWord=root --mysql-db=sbtest1 --oltp-num-tables=10 --oltp-table-size=500000 --report-interval=10  --max-requests=0 --oltp-test-mode=nontrx --oltp-nontrx-mode=select --oltp-read-only=off --max-time=$time --num-threads=$thread run
echo "============================================================================================================================================"
done >> /tmp/sysbench.log.0.0
#1.1
sed -i 's/sync_relay_log=0/sync_relay_log=1/g' /etc/my.cnf 
sed -i 's/sync_binlog=0/sync_binlog=1/g' /etc/my.cnf  
sed -i 's/innodb_flush_log_at_trx_commit = 0/innodb_flush_log_at_trx_commit = 1/g' /etc/my.cnf  
for thread in {32,256}
do
echo "now the number of theads is $thread"
echo "============================================================================================================================================"
/bin/sh /home/linzj/shell/mysql.sh restart
sleep 30
sysbench --test=oltp --mysql-host=192.168.110.100 --mysql-port=3306 --mysql-user=root --mysql-password=root --mysql-db=sbtest1 --oltp-num-tables=10 --oltp-table-size=500000 --report-interval=10  --max-requests=0 --oltp-test-mode=nontrx --oltp-nontrx-mode=select --oltp-read-only=off --max-time=$time --num-threads=$thread run
echo "============================================================================================================================================"
done >> /tmp/sysbench.log.1.1
#100.2
sed -i 's/sync_relay_log=1/sync_relay_log=100/g' /etc/my.cnf
sed -i 's/sync_binlog=1/sync_binlog=100/g' /etc/my.cnf
sed -i 's/innodb_flush_log_at_trx_commit = 1/innodb_flush_log_at_trx_commit = 2/g' /etc/my.cnf
for thread in {32,256}
do
echo "now the number of theads is $thread"
echo "============================================================================================================================================"
/bin/sh /home/linzj/shell/mysql.sh restart
sleep 30
sysbench --test=oltp --mysql-host=192.168.110.100 --mysql-port=3306 --mysql-user=root --mysql-password=root --mysql-db=sbtest1 --oltp-num-tables=10 --oltp-table-size=500000 --report-interval=10  --max-requests=0 --oltp-test-mode=nontrx --oltp-nontrx-mode=select --oltp-read-only=off --max-time=$time --num-threads=$thread run
echo "============================================================================================================================================"
done >> /tmp/sysbench.log.100.2

其实这里测试时间不应该只有3600s,表个数和行数也不是太大,如果要获得更为准确的压测值,建议调大测试时间、表的行数和线程并发数。

测试出来的数据如下:

not  audit_log.sosync_binlog=0  innodb_flush_log_at_trx_commit=0 innodb_io_capacity = 2000  innodb_buffer_pool_size = 128Msync_binlog=1  innodb_flush_log_at_trx_commit=1 innodb_io_capacity = 2000  innodb_buffer_pool_size = 128Msync_binlog=100  innodb_flush_log_at_trx_commit=2 innodb_io_capacity = 2000  innodb_buffer_pool_size = 128M
thread numbertransactions95% response timetransactions95% response timetransactions95% response time
16322134950.25ms294105040.25ms305236650.35ms
32261591900.98ms277098800.66ms269330620.68ms
64832989870.23ms864236340.23ms771570300.27ms
128887151240.34ms908174200.35ms813493620.41ms
256663695202.19ms690104221.98ms715051441.81ms


audit_log.sosync_binlog=0  innodb_flush_log_at_trx_commit=0 innodb_io_capacity = 2000  innodb_buffer_pool_size = 128Msync_binlog=1  innodb_flush_log_at_trx_commit=1 innodb_io_capacity = 2000  innodb_buffer_pool_size = 128Msync_binlog=100  innodb_flush_log_at_trx_commit=2 innodb_io_capacity = 2000  innodb_buffer_pool_size = 128M
thread numbertransactions95% response timetransactions95% response timetransactions95% response time
16286929660.50ms302270400.44ms306352310.43ms
32263502080.69ms267892170.64ms265159250.66ms
64582600780.45ms601292660.41ms626359250.37ms
128613847280.69ms624356970.67ms644553540.59ms
256555601772.83ms556838332.87ms560683422.79ms


从测试的数据可以发现:

1、数据库的audit插件的使用,确实损耗了一定的数据库性能,如果以最佳压测性能的128个线程并发的数据来看,有audit功能的数据库在同等压测时间下,事务数占比少了30%以上,响应时间延长了1倍。

2、数据库性能并非同并发线程数呈线性关系,在并发数达到128时,事务数和响应时间均为最佳,接下来再继续增加并发,性能反而下降。

3、这里测试数据sync_binlog和innodb_flush_log_at_trx_commit为双1的时候,性能反而最高。这里应该是参数调整or压测时间不足导致。至少innodb_buffer_pool_size应该调整为内存的80%。所以这份测试数据也仅仅作为参考,需要再继续调整参数后再进行压测才能得到更为准确的数值。

看完如何压测mysql5.6中audit.log插件性能损耗这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的数据库栏目。

您可能感兴趣的文档:

--结束END--

本文标题: 如何压测mysql5.6中audit.log插件性能损耗

本文链接: https://www.lsjlt.com/news/35061.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库压力测试的炼狱:如何在火中锤炼性能
    在数据库的浩瀚世界中,压力测试是一项至关重要的炼狱,它能淬炼系统的极限,揭示性能瓶颈和脆弱性。通过模拟真实场景下的负载,压力测试可以让您在灾难发生之前预见并解决问题。 1. 设定明确的目标 压力测试并非盲目地轰炸数据库。制定明确的目标至...
    99+
    2024-04-02
  • Golang 技术性能优化中如何进行性能测试?
    进行性能测试对于优化 go 应用程序至关重要,可以通过使用各种工具,例如 bencher、pprof、httperf 和 wrk,来评估应用程序在特定负载下的性能,包括响应时间、吞吐量和...
    99+
    2024-05-11
    golang 性能测试 git 标准库
  • 如何在Python中测试文件接口响应的性能?
    当我们编写Python程序时,测试文件接口的响应性能是非常重要的。因为文件读写操作在程序中经常被使用,所以我们需要确保这些操作能够在合理的时间内完成。在本文中,我们将介绍如何在Python中测试文件接口响应的性能,并提供一些演示代码。 一、...
    99+
    2023-08-13
    文件 接口 响应
  • 如何通过宝塔面板进行网站性能压测和调优
    要通过宝塔面板进行网站性能压测和调优,可以按照以下步骤进行操作:1. 登录到宝塔面板:在浏览器中输入服务器的IP地址或域名,加上宝塔...
    99+
    2023-10-09
    宝塔面板
  • mysql中如何进行数据压缩性能对比
    这篇文章给大家分享的是有关mysql中如何进行数据压缩性能对比的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 测试环境1.1 软硬件一台 64位 2.6.18-92 内核Linux开发机,4G内存,4个280...
    99+
    2023-06-25
  • 如何在Python中进行代码性能优化和性能测试
    如何在Python中进行代码性能优化和性能测试引言:当我们编写代码时,经常会面临代码执行速度慢的问题。对于一个复杂的程序来说,效率的提升可以带来明显的性能提升。本文将介绍如何在Python中进行代码性能优化和性能测试,并给出具体的代码示例。...
    99+
    2023-10-22
    性能 (Performance) 优化 (Optimize) 测试 (Test)
  • APP压力稳定性测试中如何进行Monkey入门实战
    APP压力稳定性测试中如何进行Monkey入门实战,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Monkey测试简介在android手机上做自动化测试,monkey比cts...
    99+
    2023-06-05
  • Linux系统中如何使用FIO测试性能
    这篇文章给大家分享的是有关Linux系统中如何使用FIO测试性能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。FIO是用来测试CPU、网络等多种设备的性能测试工具,FIO的出现解决了性能测试工作中重复、繁琐的大部...
    99+
    2023-06-28
  • C#中如何使用性能测试工具和性能优化技巧
    C#中如何使用性能测试工具和性能优化技巧,需要具体代码示例性能优化在软件开发过程中起着非常重要的作用,它可以提高系统的性能、运行速度和响应能力。C#是一种高性能的编程语言,也有许多性能优化技巧和工具可以帮助我们更好地利用C#的优势。本文将介...
    99+
    2023-10-22
    性能优化技巧 C#性能测试工具
  • C#开发中如何处理关键性能指标和性能测试
    C#开发中如何处理关键性能指标和性能测试,需要具体代码示例在C#开发中,性能是一个非常重要的考虑因素。当我们开发一个项目时,无论是桌面应用程序、Web应用程序还是移动应用程序,我们都希望它能够运行得足够快,并且在使用过程中不会出现卡顿或延迟...
    99+
    2023-10-22
    性能测试 性能指标 C#开发
  • Python IDE文件响应性能测试,如何评估你的IDE的性能表现?
    Python是一种广泛使用的编程语言,因为它易于学习和使用。许多Python开发人员使用Python IDE来编写和调试他们的代码。然而,对于那些使用Python IDE的人来说,IDE的性能表现非常重要。好的Python IDE应该能够...
    99+
    2023-09-11
    响应 ide 文件
  • Linux中如何使用Fio来测评硬盘性能
    这篇文章跟大家分析一下“Linux中如何使用Fio来测评硬盘性能”。内容详细易懂,对“Linux中如何使用Fio来测评硬盘性能”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Lin...
    99+
    2023-06-28
  • 如何进行性能测试中服务器关键性能指标的浅析
    如何进行性能测试中服务器关键性能指标的浅析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在对互联网服务进行服务端性能测试时,主要关注两方面的性能指标:业务指标:...
    99+
    2023-06-03
  • PHP中如何进行网站性能测试和优化?
    PHP是一种广泛应用于Web开发的脚本语言,在Web应用和网站开发中占有重要地位。随着Web应用和网站的功能不断扩展,对性能的要求越来越高。因此,如何进行PHP网站性能测试和优化显得非常重要,本文将详细介绍PHP网站性能测试和优化的方法和技...
    99+
    2023-05-21
    PHP性能测试 PHP网站性能优化 PHP性能工具
  • 数据库压力测试:如何优化数据库性能以应对高并发访问
    一、什么是数据库压力测试? 数据库压力测试是指在模拟高并发访问的情况下,对数据库进行性能评估的测试过程。压力测试可以帮助数据库管理员发现数据库的瓶颈,并采取措施优化数据库性能。 二、为什么需要进行数据库压力测试? 随着互联网的快速发展,...
    99+
    2024-02-26
    数据库 压力测试 性能优化 并发访问
  • 在AmazonAurora中如何实现数据库的性能测试和基准测试
    在Amazon Aurora中实现数据库的性能测试和基准测试可以通过以下步骤进行: 定义测试目标:确定要测试的性能指标,例如吞吐...
    99+
    2024-04-09
    AmazonAurora
  • Cacti系统中的插件是如何扩展功能的
    Cacti系统中的插件是通过在系统中添加新的功能模块来扩展系统的功能。用户可以通过下载适用于Cacti系统的插件,然后将插件文件复制...
    99+
    2024-04-02
  • 如何在JavaWeb项目中实现文件压缩下载功能
    本篇文章为大家展示了如何在JavaWeb项目中实现文件压缩下载功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。具体代码如下所示://文件名称    Stri...
    99+
    2023-05-31
    javaweb ava 目中
  • 如何解决WEB性能测试中的验证码问题
    如何解决WEB性能测试中的验证码问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。现在越来越多的网站为了安全性或是防止Spam的侵害,采用了验证码的校验技术。简单地说,验证...
    99+
    2023-06-04
  • 如何在Teradata中进行数据分区和压缩以优化性能
    在Teradata中,数据分区和数据压缩是两种常见的优化性能技术。数据分区可以帮助提高查询性能,减少查询数据量,而数据压缩可以减少磁...
    99+
    2024-04-09
    Teradata
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作