首页 文章 精选 留言 我的

精选列表

搜索[图片加载],共10000篇文章
优秀的个人博客,低调大师

mysql5.6加载percona版audit.log插件性能损耗压测

由于mysql5.6社区版没有企业版特有的audit审计插件,最近需要对生产的mysql数据库增加审计功能,在考虑了percona、maridb和macfee3个版本的audit,最终选择了较为熟悉的percona版。 这里注意下,最好采用同一子版本的PXC的audit_log.so文件,即下载PXC的二进制包文件并直接copy其内置的audit_log.so插件即可。 启用了audit审计功能,对数据库的性能存在一定的损耗,具体是多少,需要通过测试验证。在虚拟机上做了一个测试如下: 测试虚拟机环境: 主机: 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 forthreadin{16,32,64,128,256} do echo"nowthenumberoftheadsis$thread" echo"============================================================================================================================================" /bin/sh/home/linzj/shell/mysql.shrestart sleep30 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=$threadrun 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 forthreadin{32,256} do echo"nowthenumberoftheadsis$thread" echo"============================================================================================================================================" /bin/sh/home/linzj/shell/mysql.shrestart sleep30 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=$threadrun 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 forthreadin{32,256} do echo"nowthenumberoftheadsis$thread" echo"============================================================================================================================================" /bin/sh/home/linzj/shell/mysql.shrestart sleep30 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=$threadrun echo"============================================================================================================================================" done>>/tmp/sysbench.log.100.2 其实这里测试时间不应该只有3600s,表个数和行数也不是太大,如果要获得更为准确的压测值,建议调大测试时间、表的行数和线程并发数。 测试出来的数据如下: not audit_log.so sync_binlog=0 innodb_flush_log_at_trx_commit=0 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=1 innodb_flush_log_at_trx_commit=1 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=100 innodb_flush_log_at_trx_commit=2 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M thread number transactions 95% response time transactions 95% response time transactions 95% response time 16 32213495 0.25ms 29410504 0.25ms 30523665 0.35ms 32 26159190 0.98ms 27709880 0.66ms 26933062 0.68ms 64 83298987 0.23ms 86423634 0.23ms 77157030 0.27ms 128 88715124 0.34ms 90817420 0.35ms 81349362 0.41ms 256 66369520 2.19ms 69010422 1.98ms 71505144 1.81ms audit_log.so sync_binlog=0 innodb_flush_log_at_trx_commit=0 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=1 innodb_flush_log_at_trx_commit=1 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M sync_binlog=100 innodb_flush_log_at_trx_commit=2 innodb_io_capacity = 2000 innodb_buffer_pool_size = 128M thread number transactions 95% response time transactions 95% response time transactions 95% response time 16 28692966 0.50ms 30227040 0.44ms 30635231 0.43ms 32 26350208 0.69ms 26789217 0.64ms 26515925 0.66ms 64 58260078 0.45ms 60129266 0.41ms 62635925 0.37ms 128 61384728 0.69ms 62435697 0.67ms 64455354 0.59ms 256 55560177 2.83ms 55683833 2.87ms 56068342 2.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%。所以这份测试数据也仅仅作为参考,需要再继续调整参数后再进行压测才能得到更为准确的数值。

优秀的个人博客,低调大师

为打击网络虚假图片,Adobe 推出开源工具包

随着照片和视频处理技术不断提高,如今网络上充斥着各种伪造的内容。Adobe 领导的 CAI 近日宣布将推出一个由三部分组成的开源工具包,就是为了遏制这些错误信息的传播。 CAI(Content Authenticity Initiative)是一个由 Adobe 领导的团体,成立于 2019 年,目标是通过一个全行业的归属标准来增加网上的信任和透明度。CAI 的创建是为了应对日益严重的错误和虚假信息问题,并通过此举来保护创作者,CAI 现在有超过 750 名成员。 这个开源工具包包括一个用于构建在浏览器中显示内容凭证的 JavaScript SDK、一个命令行工具和一个用于开发应用程序(桌面端/移动端)的 Rust SDK,通过这个工具包可以实现创建、查看和验证嵌入的内容凭证。 该工具的底层标准为 C2PA,是一个可以认证媒体来源和历史的技术规范,由 Adobe 和其他行业领导者发起。自 2021 年年底以来,Creative Cloud 用户可在包括 Photoshop 和 Stock 在内的多个产品中使用,这使得创作者可以安全地将重要的归属数据附加到图像上,并帮助消费者更好地评估内容的真实性。 此次开源的目的也很好理解,就是为错误和虚假信息创建一个更加广泛的来源解决方案,让新闻、艺术、社交媒体和任何媒体完整性至关重要的地方广泛采用。该工具除了可以打击互联网上常见的伪造内容,还可以用于如今火爆的 NFT 领域,帮助艺术家打假。毕竟在上个月就有信息显示,OpenSea 上 80% 的作品都是冒牌货。 这个工具也吸引了大量创造合成图像和视频的公司的兴趣,这些公司可以通过将元数据嵌入到由 DALL-E 等 AI 模型生成的图像中,确保 AI 生成的图像不被误认为是真实的艺术家作品。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册