首页 文章 精选 留言 我的

精选列表

搜索[工具库],共10000篇文章
优秀的个人博客,低调大师

MYSQL innodb_deadlock_detect 打开数据性能低,与事务回滚

最近在重新整理MYSQL 8的MY.CNF 的配置,在和组员讨论的试试,我们的MYSQL DBA 提出一个问题, innodb_deadlock_detect和 innodb_rollback_on_timeout, 以及事务回滚的问题. 这里需要明确的几个问题 1 innodb_deadlock_detect 是检测死锁的一种方法,从mysql 5.7.13引入的, 在官方MYSQL 8.0 的文档中提到在高并发的系统中还是建议不使用 innodb_deadlock_detect. 大部分文字都在重复一个观点,高并发使用死锁的检测,会引起性能的问题 那么基本上每个文字都在描述打开这个开关会影响性能,到底影响那些性能了 ___________________________________________________________________________ 在源代码的文档里面针对这个参数有这样一个描述, 在打开这个参数后会使用 lock_get_mode_str 这个操作下面是调用这个操作的解释 以上的代码解释来源于 MYSQL8.023 这个版本. 时间和精力的关系不想在弄下去,检测死锁的确是比不检测要耗费性能是一定的, 某篇关于这个参数打开后的性能测试的帖子中提到lock_detect_recursive function 是性能的罪魁祸首. 另外需要注意的是 innodb_deadlock_detect默认是打开的状态,需要在配置文件中关闭. 那么关闭后死锁的解决方式就变成通过 innodb_lock_wait_timeout 的方式默认的wait timeout 是50秒. 如果是OLTP 系统则建议,将这个值调的尽量小一些,而不是大,这样有利于OLTP 系统快速的解决问题,将问题回馈给应用程序,做下一步的处理,而不是HOLD在哪里. 那么下面的连锁的问题就来了, 如果死锁,其中一个事务回滚, 则根据MYSQL 默认的原则,只回滚最后的一条语句,而不是将所有的事务都回滚. 说到最后我们来捋一捋, 关于死锁以及事务回滚的MYSQL的配置我们是怎么做的 1innodb_deadlock_detect = off 2 innodb_lock_wait_timeout = 1 3innodb_rollback_on_timeout = on 这样配置的MYSQL 后, 1 在高并发的时候, innodb_deadlock_detect影响性能的隐患解除了 2我们可以根据系统的特性来设置innodb_lock_wait_timeout 来针对不同的需求 3 设置innodb_rollback_on_timeout 设置后,整体的事务的原子性得到了保证. 本文分享自微信公众号 - AustinDatabases(AustinDatabases)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

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

分布式图数据 Nebula Graph v2.0-rc1 发布

2.0 RC1 vertexID 增加了对 Integer 类型的支持。 暂不支持 v1.x 升级至2.x,升级步骤正在测试中。。。 New Features vertexID 支持 Integer 类型,pr 参见:https://github.com/vesoft-inc/nebula-graph/pull/496、https://github.com/vesoft-inc/nebula-common/pull/351、https://github.com/vesoft-inc/nebula-storage/pull/246、https://github.com/vesoft-inc/nebula-docs/pull/264 FIND PATH支持正向、反向和双向查找路径,pr 参见:https://github.com/vesoft-inc/nebula-graph/pull/4641,支持去除环路,pr 参见:https://github.com/vesoft-inc/nebula-graph/pull/461 SHOW HOSTS graph/meta/storage支持查看服务的相应版本,pr 参见:https://github.com/vesoft-inc/nebula-graph/pull/437、https://github.com/vesoft-inc/nebula-common/pull/325、https://github.com/vesoft-inc/nebula-storage/pull/223 BALANCE DATA RESET PLAN支持 reset 上一个失败的计划 ,pr 参见:https://github.com/vesoft-inc/nebula-common/pull/342、https://github.com/vesoft-inc/nebula-storage/pull/232 支持更多MATCH用法,用法参见:https://docs.nebula-graph.io/2.0/3.ngql-guide/7.general-query-statements/2.match/ 支持路径相关函数,pr 参见:https://github.com/vesoft-inc/nebula-common/pull/3061、https://github.com/vesoft-inc/nebula-common/pull/358 Changelog 修改了metad,graphd,storaged服务的默认端口号,以减少端口号冲突,pr 参见:https://github.com/vesoft-inc/nebula-graph/pull/4741、https://github.com/vesoft-inc/nebula-storage/pull/2391 升级 注意:1.x 暂时不支持直接升到 2.x,v2.0.0-alpha / beta 升级: 首先停止所有机器的 Nebula 服务 在每一台机器执行 scripts/nebula.service stop all 然后通过执行 scripts/nebula.service status all 来确认进程已经退出 在每一台机器(根据系统环境)安装新的 rpm 包 获取 package:https://github.com/vesoft-inc/nebula-graph/releases/tag/v2.0.0-rc1 卸载原有 rpm 包,比如:rpm -e nebula-graph-2.0.0-alpha.el6.x86_64.rpm 安装 package,比如:rpm -Uvh nebula-graph-2.0.0-rc1.el6.x86_64.rpm 启动 Nebula 所有机器执行scripts/nebula.service start all 确认进程正常启动scripts/nebula.service status all 最后,如果你在本次升级过程中遇到任何问题,欢迎前往板块:https://discuss.nebula-graph.com.cn/tag/v2-rc4提问

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

数据交易回测系列三:多因子Alpha策略最佳因子权重

在本系列二(多因子Alpha策略回测)中,我们对美股市场的4个量化因子进行了回测。在这里,我们将使用 DolphinDB database 内置的quadprog函数,对各个因子的权重进行均值方差优化,以决定最佳因子权重。 本系列二提供的脚本执行完毕后,数据表factorPnl会存有每个因子每天的收益。以下脚本基于数据表factorPnl。 retMatrix=matrix(select C0, C1, C2, C3 from factorPnl) H = cross(covar, retMatrix, retMatrix) f=-0.25*each(avg, retMatrix) A=-(1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 $4:4) b=-0.1*1 1 1 1 Aeq=matrix([1],[1],[1],[1]) beq=[1] result=quadprog(H, f, A, b, Aeq, beq) result[1] 这段代码解决了以下优化问题: 这里我们的目标函数为最大化(1/4*期望收益 – 1/2*方差),同时保证四个因子的权重之和为1,并且每个因子最小权重为10%。 H是四个因子收益率的方差-协方差矩阵。请注意这里的H,A和Aeq必须是列数相等的矩阵; f,b和beq必须是向量。A是负的单位矩阵,与b一起使用,保证每个因子权重大于10%。关于quadprog函数细节请参考DolphinDB用户开发文档quadprog。 result[1]给出基于给定优化条件的最佳因子权重。结果如下: [0.3612, 0.1, 0.438804, 0.1] 在本系列二提供的脚本中, signalNames = `signal_mom`signal_vol`signal_beta`signal_size 因此,最佳权重为36.1%的动量因子,10%的波动率因子,43.9%的beta因子和10%的市值因子。 以上计算使用了所有历史时期的数据。也可选用最近10年的数据进行计算,只需对以上脚本的第一行代码做如下改动: retMatrix=matrix(select C0, C1, C2, C3 from factorPnl where date>=2007.01.01) 结果如下: [0.19277, 0.1, 0.1, 0.60723] 因此,最佳权重为19.3%的动量因子,10%的波动率因子,10%的beta因子和60.7%的市值因子。 由此可见,进行均值方差优化时选用的历史时期对结果有重要影响。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

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应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册