当前位置: 首页 > news >正文

Druid密码错误重试导致数据库超慢


文章目录

    • 密码错误重试导致数据库超慢
      • 如何避免呢?


密码错误重试导致数据库超慢

有同事把项目的数据库密码配错了,导致其他所有连接该数据库的项目全部连接都获取缓慢了,一个页面加载要花费十几秒。排查mysql连接发现很多connect命令的连接

show full PROCESSLIST

由于连接的host全是我们服务器的ip,所以一开始想到的是服务器是不是被黑了,然后频繁的尝试破解数据库密码

赶紧查了一下是哪个进程在连接数据库

netstat -anp | grep 3306

结果发现pid是我们自己的项目,拉下来代码一看,密码配置的不对

如何避免呢?

druid有个配置是连接重试次数

<!-- 连接错误重试次数,默认是1 -->
<property name="connectionErrorRetryAttempts" value="5"/>
<!-- 达到所配置的connectionErrorRetryAttempts失败次数后,多久重试一次 这个可以配置大一点,给数据库反应时间
-->
<property name="timeBetweenConnectErrorMillis" value="10000"/>

这样配置的话失败5次之后,会休眠10s在进行重试

如果失败5次后不想重试,直接退出呢?这样就算数据库恢复也不会连接到数据库了,可以这样配置

<!-- 连接错误重试次数,默认是1 -->
<property name="connectionErrorRetryAttempts" value="5"/>
<!-- 失败足够次数后直接退出 -->
<property name="breakAfterAcquireFailure" value="true"/>

如果连重试都不想重试呢?那就把重试次数直接设置为0

<!-- 连接错误重试次数,默认是1 -->
<property name="connectionErrorRetryAttempts" value="0"/>
<!-- 失败足够次数后直接退出 -->
<property name="breakAfterAcquireFailure" value="true"/>

druid代码逻辑是

errorCount++;
// 重试次数超过connectionErrorRetryAttempts且timeBetweenConnectErrorMillis大于0if (errorCount > connectionErrorRetryAttempts && timeBetweenConnectErrorMillis > 0) {// fail over retry attemptssetFailContinuous(true);if (failFast) {lock.lock();try {notEmpty.signalAll();} finally {lock.unlock();}}// 达到该次数直接退出,不再尝试if (breakAfterAcquireFailure) {break;}// 睡眠timeBetweenConnectErrorMillis后继续尝试try {Thread.sleep(timeBetweenConnectErrorMillis);} catch (InterruptedException interruptEx) {break;}}
} catch (RuntimeException e) {LOG.error("create connection RuntimeException", e);setFailContinuous(true);continue;
} catch (Error e) {LOG.error("create connection Error", e);setFailContinuous(true);break;
}if (connection == null) {continue;
}

参考文献

  • 密码错误重试导致数据库超慢

相关文章:

Druid密码错误重试导致数据库超慢

文章目录 密码错误重试导致数据库超慢如何避免呢&#xff1f; 密码错误重试导致数据库超慢 有同事把项目的数据库密码配错了&#xff0c;导致其他所有连接该数据库的项目全部连接都获取缓慢了&#xff0c;一个页面加载要花费十几秒。排查mysql连接发现很多connect命令的连接 …...

Ubuntu 24.04安装和使用WPS 2019

为Ubuntu找一款免费、功能丰富的 Microsoft Office 替代品&#xff1f;WPS Office是理想选择&#xff01;在本文中&#xff0c;包含在Ubuntu上安装 WPS Office&#xff0c;修复初次使用出现问题的修复。 安装WPS&#xff0c;参考链接>>How to Install WPS Office on Ubu…...

week05_nlp大模型训练·词向量文本向量

1、词向量训练 1.1 CBOW&#xff08;两边预测中间&#xff09; 一、CBOW 基本概念 CBOW 是一种用于生成词向量的方法&#xff0c;属于神经网络语言模型的一种。其核心思想是根据上下文来预测中心词。在 CBOW 中&#xff0c;输入是目标词的上下文词汇&#xff0c;输出是该目标…...

【RabbitMQ消息队列原理与应用】

RabbitMQ消息队列原理与应用 一、消息队列概述 &#xff08;一&#xff09;概念 消息队列&#xff08;Message Queue&#xff0c;简称MQ&#xff09;是一种应用程序间的通信方式&#xff0c;它允许应用程序通过将消息放入队列中&#xff0c;而不是直接调用其他应用程序的接口…...

反欺诈风控体系及策略

本文详细介绍了互联网领域金融信贷行业的反欺诈策略。首先&#xff0c;探讨了反欺诈的定义、重要性以及在当前互联网发展背景下欺诈风险的加剧。接着&#xff0c;分析了反欺诈的主要手段和基础技术&#xff0c;包括对中介和黑产的了解、欺诈风险的具体类型和表现方式&#xff0…...

Mac 12.1安装tiger-vnc问题-routines:CRYPTO_internal:bad key length

背景&#xff1a;因为某些原因需要从本地mac连接远程linxu桌面查看一些内容&#xff0c;必须使用桌面查看&#xff0c;所以ssh无法满足&#xff0c;所以决定安装vnc客户端。 问题&#xff1a; 在mac上通过 brew install tiger-vnc命令安装, 但是报错如下&#xff1a; > D…...

【代码分析】Unet-Pytorch

1&#xff1a;unet_parts.py 主要包含&#xff1a; 【1】double conv&#xff0c;双层卷积 【2】down&#xff0c;下采样 【3】up&#xff0c;上采样 【4】out conv&#xff0c;输出卷积 """ Parts of the U-Net model """import torch im…...

【LLM入门系列】01 深度学习入门介绍

NLP Github 项目&#xff1a; NLP 项目实践&#xff1a;fasterai/nlp-project-practice 介绍&#xff1a;该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用&#xff0c;分享大模型算法工程师的日常工作和实战经验 AI 藏经阁&#xff1a;https://gitee.com/fasterai/a…...

安卓系统主板_迷你安卓主板定制开发_联发科MTK安卓主板方案

安卓主板搭载联发科MT8766处理器&#xff0c;采用了四核Cortex-A53架构&#xff0c;高效能和低功耗设计。其在4G网络待机时的电流消耗仅为10-15mA/h&#xff0c;支持高达2.0GHz的主频。主板内置IMG GE832 GPU&#xff0c;运行Android 9.0系统&#xff0c;内存配置选项丰富&…...

关键点检测——HRNet原理详解篇

&#x1f34a;作者简介&#xff1a;秃头小苏&#xff0c;致力于用最通俗的语言描述问题 &#x1f34a;专栏推荐&#xff1a;深度学习网络原理与实战 &#x1f34a;近期目标&#xff1a;写好专栏的每一篇文章 &#x1f34a;支持小苏&#xff1a;点赞&#x1f44d;&#x1f3fc;、…...

25考研总结

11408确实难&#xff0c;25英一直接单科斩杀&#x1f62d; 对过去这一年多备考的经历进行复盘&#xff0c;以及考试期间出现的问题进行思考。 考408的人&#xff0c;政治英语都不能拖到最后&#xff0c;408会惩罚每一个偷懒的人&#xff01; 政治 之所以把政治写在最开始&am…...

网络安全态势感知

一、网络安全态势感知&#xff08;Cyber Situational Awareness&#xff09;是一种通过收集、处理和分析网络数据来理解当前和预测未来网络安全状态的能力。它的目的是提供实时的、安全的网络全貌&#xff0c;帮助组织理解当前网络中发生的事情&#xff0c;评估风险&#xff0c…...

在K8S中,节点状态notReady如何排查?

在kubernetes集群中&#xff0c;当一个节点&#xff08;Node&#xff09;的状态变为NotReady时&#xff0c;意味着该节点可能无法运行Pod或不能正确相应kubernetes控制平面。排查NotReady节点通常涉及以下步骤&#xff1a; 1. 获取基本信息 使用kubectl命令行工具获取节点状态…...

深度学习在光学成像中是如何发挥作用的?

深度学习在光学成像中的作用主要体现在以下几个方面&#xff1a; 1. **图像重建和去模糊**&#xff1a;深度学习可以通过优化图像重建算法来处理模糊图像或降噪&#xff0c;改善成像质量。这涉及到从低分辨率图像生成高分辨率图像&#xff0c;突破传统光学系统的分辨率限制。 …...

树莓派linux内核源码编译

Raspberry Pi 内核 托管在 GitHub 上&#xff1b;更新滞后于上游 Linux内核&#xff0c;Raspberry Pi 会将 Linux 内核的长期版本整合到 Raspberry Pi 内核中。 1 构建内核 操作系统随附的默认编译器和链接器被配置为构建在该操作系统上运行的可执行文件。原生编译使用这些默…...

本地小主机安装HomeAssistant开源智能家居平台打造个人AI管家

文章目录 前言1. 添加镜像源2. 部署HomeAssistant3. HA系统初始化配置4. HA系统添加智能设备4.1 添加已发现的设备4.2 添加HACS插件安装设备 5. 安装cpolar内网穿透5.1 配置HA公网地址 6. 配置固定公网地址 前言 大家好&#xff01;今天我要向大家展示如何将一台迷你的香橙派Z…...

SpringBoot返回文件让前端下载的几种方式

01 背景 在后端开发中&#xff0c;通常会有文件下载的需求&#xff0c;常用的解决方案有两种&#xff1a; 不通过后端应用&#xff0c;直接使用nginx直接转发文件地址下载&#xff08;适用于一些公开的文件&#xff0c;因为这里不需要授权&#xff09;通过后端进行下载&#…...

人工智能及深度学习的一些题目

1、一个含有2个隐藏层的多层感知机&#xff08;MLP&#xff09;&#xff0c;神经元个数都为20&#xff0c;输入和输出节点分别由8和5个节点&#xff0c;这个网络有多少权重值&#xff1f; 答&#xff1a;在MLP中&#xff0c;权重是连接神经元的参数&#xff0c;每个连接都有一…...

15-利用dubbo远程服务调用

本文介绍利用apache dubbo调用远程服务的开发过程&#xff0c;其中利用zookeeper作为注册中心。关于zookeeper的环境搭建&#xff0c;可以参考我的另一篇博文&#xff1a;14-zookeeper环境搭建。 0、环境 jdk&#xff1a;1.8zookeeper&#xff1a;3.8.4dubbo&#xff1a;2.7.…...

【Rust自学】8.5. HashMap Pt.1:HashMap的定义、创建、合并与访问

8.5.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构&#xff0c;这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。 第八章中的集合是存储在堆内存上而非栈内存上的&#xff0c;这也意味着这些集合的数据大小无需在编…...

未来网络技术的新征程:5G、物联网与边缘计算(10/10)

一、5G 网络&#xff1a;引领未来通信新潮流 &#xff08;一&#xff09;5G 网络的特点 高速率&#xff1a;5G 依托良好技术架构&#xff0c;提供更高的网络速度&#xff0c;峰值要求不低于 20Gb/s&#xff0c;下载速度最高达 10Gbps。相比 4G 网络&#xff0c;5G 的基站速度…...

LLM(十二)| DeepSeek-V3 技术报告深度解读——开源模型的巅峰之作

近年来&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展突飞猛进&#xff0c;逐步缩小了与通用人工智能&#xff08;AGI&#xff09;的差距。DeepSeek-AI 团队最新发布的 DeepSeek-V3&#xff0c;作为一款强大的混合专家模型&#xff08;Mixture-of-Experts, MoE&a…...

Uniapp在浏览器拉起导航

Uniapp在浏览器拉起导航 最近涉及到要在浏览器中拉起导航&#xff0c;对目标点进行路线规划等功能&#xff0c;踩了一些坑&#xff0c;找到了使用方法。&#xff08;浏览器拉起&#xff09; 效果展示 可以拉起三大平台及苹果导航 点击选中某个导航&#xff0c;会携带经纬度跳转…...

公平联邦学习——多目标优化

前言 前段时间接触到了联邦学习&#xff08;Federated Learning, FL&#xff09;。涉猎了几年多目标优化的我&#xff0c;惊奇地发现横向联邦学习里面也有用多目标优化来做的。于是有感而发&#xff0c;特此写一篇博客记录记录&#xff0c;如有机会可以和大家多多交流。遇到不…...

奇怪的Python:为何字符串要设置成不可变的?

你好&#xff01;我是老邓。今天我们来聊聊 Python 中字符串不可变这个话题。 1、问题简介&#xff1a; Python 中&#xff0c;字符串属于不可变对象。这意味着一旦字符串被创建&#xff0c;它的值就无法被修改。任何看似修改字符串的操作&#xff0c;实际上都是创建了一个新…...

Vue-Router之嵌套路由

在路由配置中&#xff0c;配置children import Vue from vue import VueRouter from vue-routerVue.use(VueRouter)const router new VueRouter({mode: history,base: import.meta.env.BASE_URL,routes: [{path: /,redirect: /home},{path: /home,name: home,component: () &…...

MyBatis使用的设计模式

目录 1. 工厂模式&#xff08;Factory Pattern&#xff09; 2. 单例模式&#xff08;Singleton Pattern&#xff09; 3. 代理模式&#xff08;Proxy Pattern&#xff09; 4. 装饰器模式&#xff08;Decorator Pattern&#xff09; 5. 观察者模式&#xff08;Observer Patt…...

arm rk3588 升级glibc2.31到2.33

一、查看glibc版本 rootztl:~# ldd --version ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNE…...

【Linux系列】sed命令的深入解析:如何使用sed删除文件内容

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

C++ 设计模式:桥接模式(Bridge Pattern)

链接&#xff1a;C 设计模式 链接&#xff1a;C 设计模式 - 装饰模式 桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过将抽象部分&#xff08;业务功能&#xff09;与实现部分&#xff08;平台实现&#xff09;分离&#xff0c;使它们…...