• 系统优化的漫话


    最近在一个系统功能的优化。这个是一个把数据校对的部分给优化一下。目前的背景是相当的惨,几万数据要通过接口刷新几天。

    这个实在不能忍了。开始接手优化。一边理解业务,一边优化。里边多的是可以发挥优化的余地,优化了几处的SQl。也把业务流程给优化了一下。

    主流程中,如果主要部分没有数据,那么就不要再查询详细数据,这样可以减少很大部分(经过数据分析,70%的数据都是没详细数据的那种)。

    今天,用实际的开始测了,一分钟大概200条。感觉没有多快,很是郁闷啊。这样的话,20W的数据也要20小时,好像还是比较慢。后来,一想这个任务是4台前段的

    服务器呢,这个也是分布式。这样纯数学算法,1分钟就800条。这样20W数据也就5小时。感觉稍微快点了。多点的任务,在这个系统里是使用队列还分配任务的,分析了那个任务的SQl,里边原来还是一致性Hash原则,失败重试,超时任务自动重置分配的处理机,里边的东西还是很多的。 每次处理1000条,连任务上上限都有啊。

    分布式任务的任务管理的,分配,结果很有很好的实现,运行日志是写在文件里,可以去任务机器中得log目录下查吧。这个以后可以考虑改成NOSQL吧。

    以后有时间,在好好看看一致性Hash等知识。目前系统感觉还有很多优化点,等这次上线后,在视情况进行下一次优化。这个服务中有一个根据Key来计算实时的数据任务,这个可以考虑改成多任务的啊。

  • 相关阅读:
    dp_Pku1887
    他们实际上控制的定义很easy5/12
    一:redis 的string类型
    我已经写了DAL层的代码生成器
    《Java并发编程实战》第十二章 测试并发程序 读书笔记
    [Pug] Template Engine -- Jade/ Pug
    [Angular] Alternative Themes
    [Angular] Separating Structural Styles From Theme Styles
    [React] Setup 'beforeunload' listener
    [Node] Convert CommonJS Requires to ES6 Imports
  • 原文地址:https://www.cnblogs.com/wcLT/p/4183666.html
Copyright © 2020-2023  润新知