zoukankan      html  css  js  c++  java
  • 系统优化的漫话

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

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

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

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

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

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

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

  • 相关阅读:
    python -基础-强大的列表推导式
    python-基础-字符串拼接
    tkinter学习-- 控件一、Label、Button
    python -re模块
    Apache POI XWPF 爬坑指南之二特定位置插入表格、段落、图片
    mybatis报错:Invalid bound statement (not found):
    bootstrap中input输入框后面添加图标
    bootstrap悬浮显示内容
    layui中使用laydate
    与SQL相关解释表关联(left join ... on ... and ...)
  • 原文地址:https://www.cnblogs.com/wcLT/p/4183666.html
Copyright © 2011-2022 走看看