实战业务优化方案总结---主目录---持续更新

基于Dsh CLI的实时价格监控方案:从安装到插件配置实战 在云计算、电力市场等动态定价场景中,实时价格监控是成本优化和风险控制的关键技术。其核心原理是通过自动化脚本或工具,周期性地从数据源(如API)获取价格数据,并基于预设规则(如阈值)触发告警。这项技术的价值在于将人工从低效、易错的手动监控中解放出来,实现精准的成本管控和决策支持。典型的应用场景包括云服务竞价实例监控、分时电价跟踪以及加密货币价格预警等。本文以Dsh命令行工具及其插件生态为例,手把手演示如何配置一个峰谷价格提醒插件,解决‘dsh设置不了api’等常见问题,并分享提升系统可靠性的工程实践,帮助你快 阅读详情

总结在工作中遇到的有意思的问题,和对应解决方案。遇到一个记录一个。
业务大了,经常会出现莫名其妙的问题。比如好好的插件,莫名其妙不起作用了。这时候不可以改业务代码,或者修改一点点,还得解决问题。

一、Mybatis爬坑

1. mybatis-plus 自动填充失效、分页插件不向下传递拦截链

问题如标题所示,mybatis自动填充不生效,使用分页插件发现这个插件没有向下传递拦截链。

解决方案

  1. 选择使用Mybatis-plus的分页插件,满足向下传递拦截链的要求。
  2. 仿造MyBatis-plus的自动填充使用,自定义自动填充插件。解决Mybatis-plus自动填充时而有效时而失效的情况。
由于篇幅原因,放在这篇文章:https://blog.youkuaiyun.com/grd_java/article/details/124349094

2. 使用Spring AOP监控mapper执行时间

公司让优化报表的查询(一个查询据说将近20s,一个接口15秒会超时,所以最坏也得让查询在15s以内),这些报表数据量大,IO非常多,一个查询涉及到几十条sql和IO

因此想要优化,就得知道哪些操作比较费时间,直接用AOP是好的选择,精确打印每一个IO的时间,进行优化
在这里插入图片描述

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

import java.util.Arrays;

/**
 * 2022-04-14===>>>yinzhipeng
 * 用于获取mapper执行时间
 */
@Component
@Aspect
@Slf4j
public class MapperExecutionTimeAspect {
    @Pointcut("execution(* cn.xxx.mapper.*.*(..))")
    public void pointcut() {
    }
    @Around("pointcut()")
    public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
        long begin = System.nanoTime();
        Object obj = pjp.proceed();
        long end = System.nanoTime();

        log.info("调用Mapper方法:执行耗时:{}纳秒,耗时:{}毫秒,{},参数:{}",
                (end - begin), (end - begin) / 1000000,
                pjp.getSignature().toString(), Arrays.toString(pjp.getArgs()));
        return obj;
    }

}

二、查询优化

1. 大量mapper IO优化

当查询大报表,并且sql没有太大优化空间的情况下,该如何提升效率呢?

  1. 也就是说现在IO太多,但是也没办法,业务确实需要这么多的IO
  2. 单个IO的效率优化,已经没有太多优化空间了,也就是优化sql的方案不可取
  3. 那么问题就是如何让这些IO能快一点

一般这种情况,就可以考虑多线程了,而且大的报表一般是不用考虑高并发的。所以直接将内容都写到方法中,不定义到类中,就没有线程安全问题。因为没有高并发,也不用考虑栈溢出的问题(每个线程执行都会有一个,线程私有,生命周期与线程相同,是Java方法执行的线程内存模型,每个方法被执行时,Java虚拟机都会同步创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态连接、方法出口等信息)

由于篇幅原因,放在这篇文章:https://blog.youkuaiyun.com/grd_java/article/details/124348962
CentOS 6下Nginx虚拟主机配置实战:兼容性、安全与热更新 Nginx虚拟主机(Server Blocks)是实现多站点共存的核心机制,其原理基于HTTP Host头匹配与server_name指令路由,通过独立server块隔离配置、日志与SSL上下文。在老旧系统中,该技术的价值远超基础托管——它以极低资源开销支撑异构应用并存、灰度发布和安全策略分层,成为政务、制造等强合规场景下延寿旧系统的工程刚需。尤其在CentOS 6这类已停止维护但仍在运行Oracle 11g、JRE定制客户端的环境中,虚拟主机配置必须兼顾内核兼容性(如epoll适配)、OpenSSL 1. 阅读详情

相关推荐

企业级Apache Solr安全加固实战:从高危漏洞修复到深度配置优化

在分布式搜索与大数据处理领域,企业级搜索平台的安全防护是系统架构中至关重要的一环。其核心原理在于通过严格的访问控制、输入验证、配置管理和运行时监控,构建纵深防御体系,以抵御外部攻击与内部风险。对于广泛应用的Apache Solr而言,其技术价值不仅体现在高性能的全文检索能力,更在于能否在复杂生产环境中稳定、安全地处理敏感数据。典型的应用场景包括电商商品搜索、内容管理系统、日志分析平台等,这些场景往往涉及用户隐私或商业数据,对安全性有极高要求。本文聚焦于Solr的远程代码执行(RCE)与反序列化等常见高危漏洞

weixin_30654419的博客 675

WebDriver Manager在CI/CD流水线中的集成实战与优化

在软件工程实践中,持续集成与持续交付(CI/CD)是提升开发效率和软件质量的核心实践。其原理在于通过自动化流程,将代码变更快速、可靠地集成到主干并交付至生产环境。这一过程的技术价值在于减少了人工干预,加快了反馈循环,并确保了软件的可重复构建。在自动化测试领域,尤其是UI自动化测试,浏览器驱动的版本管理是保障测试稳定性的关键挑战。WebDriver Manager作为一个智能的驱动管理工具,通过自动检测、下载和配置匹配的浏览器驱动,解决了驱动与浏览器版本不匹配的痛点。其应用场景广泛,尤其在与CI/CD流水线深

weixin_34038293的博客 364

15、技术系统的简洁性与运维优化实践

本文探讨了技术系统的简洁性与运维优化实践,以谷歌Moira项目为例,介绍了退役遗留系统的分阶段实施策略、关键组件(如Moonwalk、Moira Portal和自动化工具)的应用,以及在项目中积累的经验教训。文章分析了系统复杂度的衡量指标及其对运维的影响,强调SRE在推动系统简洁性中的关键作用,并通过实际案例说明API设计和系统演进中的复杂度挑战。最后提出通过自动化、持续审查和团队意识培养来实现并维持系统简洁性,从而降低运维成本、提升系统可靠性与可维护性。

postgres8guard的博客 79

大量mapper IO优化(使用多线程异步+CountDownLatch)

当查询大报表,并且sql没有太大优化空间的情况下,该如何提升效率呢.一般这种情况,就可以考虑多线程了.

殷志鹏的博客 1124

如何用Python+Librosa实现轴承异响检测?5步搞定工业设备故障预警

本文详细介绍了如何利用Python和Librosa库,通过5个步骤构建工业轴承异响检测与故障预警系统。从音频采集、预处理、频谱特征提取,到构建机器学习模型并进行实时监测,提供了完整的代码级解决方案。该方法能有效识别轴承早期故障特征,实现低成本、高效的设备预测性维护。

rnn9storyteller的博客 632

随机森林模型及案例(Python)

1 集成模型简介 集成学习模型使用一系列弱学习器(也称为基础模型或基模型)进行学习,并将各个弱学习器的结果进行整合,从而获得比单个学习器更好的学习效果。 集成学习模型的常见算法有Bagging算法和Boosting算法两种。 Bagging算法的典型机器学习模型为随机森林模型,而Boosting算法的典型机器学习模型则为AdaBoost、GBDT、XGBoost和LightGBM模型。 1.1 Bagging算法简介 Bagging算法的原理类似投票,每个弱学习器都有一票,最终根据所有弱学习器的投

qq_42433311的博客 4万+

自定义注解打印接口时长

自定义注解打印接口时长 不知道大家有没有遇到过类似的诉求,就是希望在一个方法的入口处或者出口处做统一的日志处理,比如记录一下入参、出参、记录下方法执行的时间等。 如果在每一个方法中自己写这样的代码的话,一方面会有很多代码重复,另外也容易被遗漏。 这种场景,就可以使用自定义注解 + 切面实现这个功能。 假设我们想要在一些 web 请求的方法上,记录下本次操作执行的时间,比如访问首页或登录接口等。 首先我们自定义一个注解 @Target(ElementType.METHOD) @Retention(Retent

天宇的博客 415

eNSP安装教程

eNSP安装教程一、安装eNSP1、先安装依赖组件2、安装eNSP主程序eNSP+V100R003C00SPC100+Setup ---不要安装在中文路径下3、安装完成后注册设备 一、安装eNSP 程序包位置:https://drive.weixin.qq.com/s?k=AOgAQQfOAAsw1wAKEgAAcAbgbSAKQ 1、先安装依赖组件 依赖组件: WinPcap_4_1_3 —直接下一步,但不要安装在中文路径下 Wireshark_v3.4.6 或者wireshark-win3

qimowei的博客 8668

dubbo线程模型及参数优化【持续更新】

一、Dubbo整体架构图二、线程模型官网地址:https://dubbo.apache.org/zh/d...三、本地dubbo测试记录(一)踩坑  使用SpringBoot构建dubbo服务的时候,既使用了注解配置,又忘记关闭xml文件配置,导致应用启动失败。(二)消费者端配置dubbo.consumer.timeout=3000,控制消费者等待服务端返回消息的最大时间,默认1秒;【默认配置下,...

wajueji的博客 685

深入浅出:CosineLRScheduler 调度器的原理与实战应用

本文深入解析了CosineLRScheduler调度器的核心原理与实战应用,详细介绍了余弦退火算法及其在深度学习模型训练中的优势。通过参数配置建议、PyTorch实现示例和常见问题解决方案,帮助开发者高效应用该调度器提升模型性能,特别适用于计算机视觉和自然语言处理任务。

sss66的博客 859

STM32与HT7038的高精度电能计量系统设计与实现

本文详细介绍了基于STM32微控制器与HT7038三相电能计量芯片的高精度电能计量系统设计与实现。文章从项目选型出发,深入剖析了硬件电路设计、SPI驱动开发、芯片校准及系统集成等关键环节,为智能电表、能源监控等应用提供了高性价比且稳定的国产化解决方案。

pytorch8learner的博客 389

Jenkins持续集成实战:从环境搭建到团队习惯养成

持续集成(CI)是一种通过自动化构建、测试和验证来消除人为疏忽的工程实践,其核心原理是将重复性操作交给系统强制执行,从而保证代码质量与交付效率。在DevOps实践中,Jenkins凭借成熟的插件生态、灵活的自建能力和强大的Pipeline支持,成为构建CI流水线的主流工具。它适用于多语言、多构建工具、多部署目标的复杂场景,帮助团队实现代码推送自动触发构建、多分支管理、构建产物归档与版本追溯。本文围绕Jenkins的安装配置、代码托管对接、构建流程精细化及常见问题排查,系统分享从零搭建持续集成环境的完整经验。

weixin_34080951的博客 221

HP iLO4报错自救指南:Embedded Flash/SD-CARD故障的3种修复方案(附详细截图)

本文详细解析了HP iLO4出现'Embedded Flash/SD-CARD'故障时的3种修复方案,包括快速恢复、固件级修复和硬件级解决方案。通过Diagnostics诊断和Self-Test报告,帮助运维人员高效解决问题,并提供预防性维护建议,确保服务器远程管理功能的稳定性。

weixin_42522953的博客 511

MySQL 数据存储和优化------MySQL集群架构 ---- (架构---索引---事务---锁---集群---性能---分库分表---实战---运维)持续更新

Mysql架构体系全系列文章主目录(进不去说明还没写完)https://blog.youkuaiyun.com/grd_java/article/details/123033016 本文只是整个系列笔记的第四章:MySQL集群架构,只解释MySQL集群架构相关概念。如果不懂第一章MySQL架构原理,是看不懂这章的。 文章目录1. 集群架构设计理念2. 主从模式2.1半同步复制2.2 并行复制 1. 集群架构设计理念 1. 大家必须清楚的一点:InnoDB提交分为两个阶段,prepare(准备,准备好)...

殷志鹏的博客 565

SAP GUI 经典事务在 Fiori Launchpad 中的穿越之道:原理、配置与实践指南

在许多企业的 S/4HANA 或 ECC 系统里,经典 SAP GUI 事务依旧承载着关键业务。如何把这些老将自然地嵌入到 Fiori Launchpad,让用户在统一入口里无缝切换新旧 UI,是项目中经常遇到的主题。本文结合社区博文、官方文档与实际项目经验,系统梳理这一过程的技术原理、配置步骤、性能优化以及常见坑点,并给出贴近中国读者的案例解析与改进建议。阅读完毕,你将不仅知道怎么做,还会理解。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 623

断层错动和近断层地震动联合作用下软岩隧洞衬砌损伤分析

摘要 本文提出了一种基于Python的软岩隧洞衬砌损伤分析系统,重点研究断层错动和近断层地震动的联合作用效应。系统采用有限元方法建立隧洞-围岩体系模型,通过非线性动力分析评估衬砌结构损伤。研究内容包括:1)建立考虑应变软化的软岩本构模型;2)基于位错理论模拟断层错动过程;3)合成具有速度脉冲效应的近断层地震动;4)开发完整的动力响应分析流程。结果表明,所提出的方法能有效评估软岩隧洞在复杂地质条件下的抗震性能,为工程设计提供理论依据。 关键词:软岩隧洞、断层错动、近断层地震动、损伤分析、Python、有限元法

max500600的博客 842

oracle19删除之前的主目录用户_百度搜索暂停快照删除服务,是否影响SEO优化?...

  短视频,自媒体,达人种草一站服务最近据百度官方公告显示,百度百度快照投诉删除入口目前暂停关闭,官方系统批量删除快照业务暂时停止服务,未来网页快照删除和更新问题,需站长们个人手动到百度网页搜索结果底部的用户反馈处提交投诉在进行删除和更新快照,官方删除快照业务暂时休业!我们以前想删除一些网站死链接快照,我们只需要点击百度快照--》投诉删除快照即可,百度会在1-5个工作日处理,但是现在暂停了入口,...

weixin_39969028的博客 152

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

紧急修复:VSCode更新后终端目录错乱?一招还原正常工作流

快速解决VSCode更新后终端目录异常问题,恢复默认启动目录设置。通过修改settings.json配置文件,精准控制VSCode终端的启动目录,适用于多项目开发场景,避免频繁手动切换。操作简单一劳永逸,值得收藏。

AlgoFun的博客 461

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SQL Server索引优化实战:从B+树原理到覆盖索引落地

数据库索引是关系型数据库实现高效查询的核心机制,其本质是基于B+树结构的磁盘I/O优化技术。理解索引需先掌握其底层原理——非聚集索引如何通过键值定位与回表操作影响性能,以及聚集索引如何决定数据物理存储顺序。技术价值在于显著降低逻辑读、减少Key Lookup、提升SELECT/UPDATE响应速度,并支撑高并发OLTP场景。典型应用场景包括电商订单按用户查询、金融账务按时间范围汇总、SaaS多租户数据隔离等。本文聚焦SQL Server Index真实调优经验,融合选择性、覆盖度、过滤基数三大设计标尺,提供

weixin_30954265的博客 435

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

自动化清理临时文件:跨平台脚本与定时任务方案

系统运行过程中,临时文件由更新缓存、日志、构建产物等持续产生,积少成多会拖慢磁盘读写并导致空间告急。手动清理难以覆盖所有目录,且再生速度快,因此需要基于保留策略和定时调度的自动化方案。通过find、mtime等工具和PowerShell脚本,可以按时间窗口安全删除过期文件,并借助cron、systemd timer或任务计划程序实现周期性执行。该类方案适用于开发机、个人电脑及小团队服务器,能够有效降低磁盘占满风险,提升系统长期稳定性。本文从临时文件产生原理出发,详解跨平台清理脚本设计与灰度落地流程,并提供可

weixin_32308101的博客 275

MySQL 数据存储和优化------MySQL事务和锁 ---- (架构---索引---事务---锁---集群---性能---分库分表---实战---运维)持续更新

MySQL的事务和锁机制

殷志鹏的博客 1082

Claude Code Skills实战:构建高效AI工作流

AI工作流自动化是现代软件开发的重要趋势,其核心在于将人工智能能力无缝集成到日常开发流程中。通过构建可复用的Code Skills模块,开发者可以显著提升团队协作效率。这类技术通常基于API封装、自动化测试框架和持续集成等基础组件实现,其技术价值体现在减少重复劳动、降低人为错误率以及加速交付周期。在工程实践中,典型的应用场景包括代码审查自动化、测试用例生成、数据查询优化等。以Claude Code Skills为例,其通过模块化设计支持九种不同类型的技能开发,包括API参考类、产品验证类等,每个Skill都

weixin_30263277的博客 363

2024大模型基准测试:从榜单分数到真实业务落地的六大实操维度

大模型基准测试已从单一准确率指标(如MMLU、GSM8K)演进为覆盖全链路能力的工程化评估体系。其核心原理在于:模型性能高度依赖硬件部署栈、RAG集成方式、长上下文稳定性及推理成本等现实约束,而非孤立参数或理论得分。技术价值体现在规避‘高分陷阱’、支撑可量化的选型决策,并显著降低生产环境OOM、幻觉、合规风险等落地失败概率。典型应用场景包括智能客服、政务公文处理、金融合规审核与合同审查等需多轮交互、强安全与高时效要求的业务系统。本文聚焦LLM Benchmarks与2024年评测实践,系统拆解长上下文稳定性

weixin_30258901的博客 465

Linux服务器恶意软件防护:LMD深度配置与优化实战指南

在服务器安全领域,恶意软件防护是保障业务连续性的基础防线。其核心原理是通过特征码匹配与启发式分析,识别并隔离恶意文件,从而抵御Web Shell、勒索软件等威胁。这项技术的价值在于为Web应用环境提供轻量级、高效率的主动防御能力,有效降低因恶意入侵导致的数据泄露与服务中断风险。典型的应用场景包括托管WordPress、Laravel等应用的Nginx或Apache服务器,以及需要持续监控文件系统安全性的生产环境。本文将聚焦于Linux Malware Detect(LMD)这一开源工具,深入探讨如何通过优化

diaoqu4574的博客 386

Winhance-zh_CN 完全使用教程:Windows系统优化终极指南

Winhance-zh_CN是一个功能强大的Windows系统优化和自定义工具,基于C#和PowerShell开发,提供直观的图形用户界面。该项目旨在帮助用户轻松管理和优化Windows 10和Windows 11系统,无需进行全新系统安装即可获得显著的性能提升和个性化体验。 ## 项目结构解析 深入了解Winhance-zh_CN的目录架构,掌握每个核心模块的功能定位: ``` Winha

gitblog_01032的博客 1173
上一篇: 自定义Mybatis自动填充插件----mybatis-plus 自动填充失效、分页插件不向下传递拦截链
下一篇: java数据结构与算法刷题-----LeetCode394:字符串解码
ydenergy_殷志鹏
博客等级 码龄7年 5885粉丝 543原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值