优化
文章平均质量分 60
weixin_40637783
这个作者很懒,什么都没留下…
展开
-
TransmittableThreadLocal错误排查
一 问题背景 数据写入丢失二 疑点以及日志分析(1)关键日志分析:收到了相关的kafka消息,并且打印了日志,针对该kafka消息,处理并提交了。针对链路的处理,是通过handler链处理的,查看nodeStore的链,发现写入只用了0ms,这个可能性不大,说明可能没有执行数据库操作。21/10/1817:46:40,563[DEBUG][bgp-ls-node-process-batch-commit]-Handlerlistwithhandler:NodeSto...原创 2022-02-07 10:37:44 · 1045 阅读 · 0 评论 -
基于生产者消费者的BatchProcessor
一 背景主要用于批量处理:二 基本架构三 代码package com.xuyu.batch;import lombok.extern.slf4j.Slf4j;import java.util.ArrayList;import java.util.List;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;/** * 数据库批量处理器.原创 2022-02-07 09:51:00 · 352 阅读 · 0 评论 -
数据库批量多表更新优化
在项目中遇到两表关联更新的问题,将A表的a字段更新到B表的b字段,A表和B表都有相同的元素列。遇到这个题目想的最简单的方式就是 updateA set a=B.b from where A.id=B.id。下面详细介绍本次优化过程一 update set from 语句updateopenans_ncc_topo_default_ltpsetrelated_ltp_id=openans_ncc_topo_default_layer.underlayfromopenans_n...原创 2022-02-05 19:04:54 · 904 阅读 · 0 评论 -
用于n个字符串的最长公共子字符串的Java实现
public static String identifyCommonSubStrOfNStr(String [] strArr){ String commonStr=""; String smallStr =""; //identify smallest String for (String s :strArr) { if(smallStr.length()< s.length()){ smal.原创 2021-05-08 15:58:17 · 175 阅读 · 0 评论 -
性能优化实战
项目背景:在SDN控制器中,本团队作为的数据的中心,负责将物理层和IP层得到数据进行汇总,建立数据之间的联系,然后将数据持久化。数据之间的关联关系建立以及数据合法性校验和快速入库成为了主要任务。当数据量特别大情况下,控制器也需要能够快速响应业务。对于本次优化主要针对系统在首次部署的时候,千万级数据的情况下,部署快,消耗内存少作为主要目标。前期准备(1)做性能优化首先需要工具,目前主流的阿里开源的arthars ,以及jdk自带的命令,还有收费版的jprofile,不得不说,jprofile是原创 2021-03-19 22:43:03 · 133 阅读 · 1 评论 -
数据库性能优化
在大数据量场景下,数据的入库性能成为了重中之重,记录下数据库性能优化的点1 索引层面索引是为了方便查询的,但是索引的建立需要额外的性能开销。在测试中发现,500w数据场景下,建立一个单列索引需要3min左右。如果还有其他索引可能带来的影响更大。索引的建立必须是在业务场景下使用频繁,能够带来较大的查询收益的。(1)首先需要整理业务中的查询逻辑,各场景下的查询条件,得到最为频繁的查询条件。(2)针对查询条件建立索引,索引最好能够复用。且满足常见索引的建立原则。(3)去除没有使用的索引原创 2021-03-08 10:34:45 · 104 阅读 · 1 评论