热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL审计插件性能测试对比_MySQL

MySQL审计插件性能测试对比
bitsCN.com

背景:

卖咖啡在5月份推出了MySQL Audit Plugin,经过几个月的更新,目前已经是1.0.2版本。Oracle在收购MySQL以后,同样也在5.5的Audit API基础上推出了 MySQL Audit Plugin。本次测试就是基于这两款产品进行的。
正文:
技术对比:
OracleMcAfee
试用版本5.5 or higher5.1 or higher
是否免费chargefree
是否动态开关yesyes
原理对比:由于Oracle的Audit Plugin是基于 5.5新推出的 Audit API ,日志的内容受制于API提供的信息。同时也必须基于5.5及更高版本。由于McAfee的Audit Plugin是基于THD的offset,从内存对象中直接获取信息,因此日志可以获取更多的内核信息。同时,只要能够得到offset,理论上就能够支持所有mysql版本(即其他branch版本) 日志格式:Oracle:XML格式,信息仅限于connection_id ,如果需要具体的用户名信息,需要反查日志获取connection event 得到IP和用户。总体来说非常鸡肋,日志内容基本和general log 没有差别
MaCfee: json格式,显示的记录了用户名和IP,以及涉及的表名。 由于是json格式,也能够方便的把日志导入 Mongo等其他NoSQL进行分析能够比较直接的看到操作信息,也便于分析
{"msg-type":"activity","date":"1352258108848","thread-id":"1","query-id":"6","user":"root","priv_user":"root","host":"localhost","cmd":"show_variables","objects":[{"db":"information_schema","name":"/tmp/#sql_2e54_0","obj_type":"TABLE"}],"query":"show global variables like '%audit%'"}
日志体积:Oracle: 1659269行 日志大小 292M = 每一千行日志 = 0.180K 团购每天QuestiOns= 163330688 句 = 28GMaCfee:1419020行 日志大小 431M = 每一千行日志 = 0.311K 团购每天QuestiOns= 163330688 句 = 48G Oracle由于记录的信息较少,因此文件体积也较小 性能比较:MaCfee:基于percona 5.1.66Oracle: 基于5.5.28-enterprise-commercial-advanced-logSlowlog:基于percona 5.1.66 , long_query_time =0 时,用于比较plugin相较slowlog之间的性能差异测试方法:AutoPerformanceTest脚本,CPU-Bound 模式测试结果:见下表,单位是QPS。 Base表示没有开启Audit时的基准性能; 红色数字表示开启后,相较基准的性能百分比。
ConcurrencyMaCfee BaseSlow log MaCfee Audit Oracle BaseOracle Audit
1489.79438.0389%307.4363%428.65414.9997%
2876.68870.4499%774.2788%874.26858.6498%
31396.441266.1391%1119.7780%1321.31272.7896%
41830.441644.8490%1389.2876%1719.581650.4496%
52297.53196586%1699.5774%2142.412030.4795%
62703.672293.485%1744.265%2575.472388.2193%
73114.532521.7981%1548.4750%2964.082653.8890%
83539.272737.8677%1479.0342%3338.173044.4991%
93919.512875.6573%1475.4738%3748.983253.3387%
104330.82887.4867%1491.8734%4136.683428.1683%
114672.052670.5357%1484.5632%4488.63576.0480%
124971.32335.0847%1375.8428%4777.93969.6183%
134976.722138.4643%1301.1326%4802.94072.9685%

当long_query_time = 0时,开启slowlog会对并发性能产生较大影响。在9并发时达到吞吐量极限。猜测是slowlog内部有一个排他的mutex,导致了并发性能无法上升。MaCfee在开启Audit后,性能下降了 74%左右,并在6并发时就达到了极限。可见该Plugin对于CPU的损耗非常大。 原因应该和slowlog一致。Oracle相比之下就稍好,性能下降在85%-90%之间。测试期间,两个plugin的IO util都在5%左右,可见日志的buffered sequence write并不是目前的瓶颈。
总结:
Oracle的Audit Plugin:功能较弱,基本等同于general log,不便于分析。居然还要收费,比较吭爹。
MaCfee的Audit Plugin:信息详尽,但是性能在高并发时很大的损耗。不具备线上使用的条件。
bitsCN.com
推荐阅读
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 《Python3 网络爬虫开发实战》:高效实用的 MongoDB 文档存储
    NoSQL,全称NotOnlySQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL是基于键值对的,而且不需要经过SQL ... [详细]
  • 在Ubuntu中安装MongoDB
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 架构师必读:日均500万数据,如何进行数据存储选型?
    点击上方关注我,选择“置顶或者星标”作者:麦田里的老农来源:https:zhuanlan.zhihu.comp37964096小编公司有一 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • 数据库基本介绍
    1、数据库基本知识概念:数据库:database(DB),是一种存储数据的仓库数据库是根据数据结构组织、存储和 ... [详细]
  • MySQL:互联网公司常用 分库分表
    本文目录一、数据库瓶颈IO瓶颈CPU瓶颈二、分库分表水平分库水平分表垂直分库垂直分表三、分库分表工具四、分库分表步骤五、分库分表问题非partit ... [详细]
  • 目录一、MySQL数据库1.简介2.用管理员身份登录3.密码相关操作4.SQL与NoSQL5.数据库重要概念二、MySQL基本语句1.基于库的增删改查2.基于表的增删改查3.基于记 ... [详细]
author-avatar
聪头丶_505
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有