美文网首页
性能讨论

性能讨论

作者: 大文Jimvin | 来源:发表于2017-07-17 11:30 被阅读0次

    性能讨论

    • 时间: 2017年7月16日晚上~17日早上
    • 发起人: 张总、肖总
    • 参与人: 管理软件事业部全体成员
    • 议题:
      • 各项目现状与背景
      • 各项目组对大数据量性能优化方案讨论

    问题发表

    • (肖)问:南宁项目每天统计问题数不合理,12号60,14号0,16号50

    • (坤)答:问题不累计,发现就改

    • (腾)答:测试员人建议配置,重庆项目压力测试没人做(注:没有额外人员配置专门做,现在由肖总兼做)

    • (张)问:导入200万数据后,my sql性能如何,卡死现象是数据库还是设计的问题

    • (肖)答:上周针对设备表已经完成优化,190万的数据,按专业分表

    • (肖)答:加索引后基本满足要求,但还要进一步优化

    • (肖)答:性能是多方面

    重庆项目的优化方案讨论

    • (肖)基础表按专业分表,如设备。业务表按年归档,单表保持的数据在200万左右,上两周解决的难点
    • (肖)分表加索引,结合业务查询条件控制
    • (腾)模糊查找用不了索引,编程的时候要注意
    • (肖)分表,一般不建议按两个维度分了,要不然,引入的编程就会复杂
    • (肖)如按线路+专业分表,表的结构可能会是这样的:m_asset_line1_tri
    • (肖)还得考虑动态表字段拼接等,多表关联时如何拼接
    • (肖)重庆项目两年的数据已经到千万级了,我南宁只有一条线估计没这么快的增长量。按朱总的想法,重庆很有可能会有两条新线的其他专业纳入系统,数据量增长会更快。所以我还是按专业的模式设计分表,按公司模式分库,工单业务表按月度或年度归档。以适应专业的扩展,分公司模式,和多年运行性能的保证。

    优化方案讨论

    张总声音

    • 是否有优化方案
    • 我们现在的设计要考虑到南宁线网形成,运营有几千人使用的情况。不这样考虑,以后系统会重写,得不偿失
    • 要考虑眼前问题,但也要考虑到以后几年的问题。在设计思路上要清楚,落实可以分步走

    肖总声音

    • 看了昨晚讨论了半天,没实质的思路和解决方案,重庆项目两年的数据已经到千万级了,我南宁只有一条线估计没这么快的增长量。按朱总的想法,重庆很有可能会有两条新线的其他专业纳入系统,数据量增长会更快。所以我还是按专业的模式设计分表,按公司模式分库,工单业务表按月度或年度归档。以适应专业的扩展,分公司模式,和多年运行性能的保证。
    • 很多场景都要关联设备表,但设备表还是比较大的,设备表是如何考虑的
    • 缓存不了吧,数据有200万,需要多少内存才能缓存呵
    • 200万很少,不是缓存所有字段,只缓存,查询需要的。例如:id、wbs、name就差不多了
    • 分线路+分专业分库或分表后,设备单表的数据还会去到多少?
    • 分表,一般不建议按两个维度分了,要不然,引入的编程就会复杂
    • 这些理论都明白,现在要是找到编程和数据量的一个平衡点
    • 分表后,要根据分表的条件,路由到对应的分表进行查询
    • 如按线路+专业分表,表的结构可能会是这样的:m_asset_line1_tri
    • 还得考虑动态表字段拼接等,多表关联时如何拼接

    邓总声音:

    • 优先解决重要紧急问题
    • 看公司管理模式,按线路管则按线路分库,如果按专业管就按专业分库
    • 我们思路就是分库分表,优化查询
    • 重庆的管理模式是按线路管理的,我建议先按线路,再按专业分库。原因是线路之间交叉管理的较少,专业交叉的更少
    • 绩效考核及报表都是以月度为单位,可以考虑按月度分
    • 对于基础数据,几乎不会有太多变化,可以考虑直接全部缓存到内存中
    • 重庆的管理模式是按线路管理的,我建议先按线路,再按专业分库。原因是线路之间交叉管理的较少,专业交叉的更少
    • 报表的统计数据按月度结余的方式全部用中间表存放
    • 在前期如果数据量还可以控制时,可以先用视图。量大后采取定时任务在闲时进行结余计算统计
    • 所以,对于购买的框架,你这把要向厂商了解,他们的缓存、分库、分表是如何实现的。
    • 在硬件方面也要提前考虑,逻辑服务器的数量及部署方案,每台服务器的最大并发极限是多少。这个也可以让厂商提供
    • mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。所有查询条件其实应该尽量减少
    • 所有在业务上可以考虑wbs的利用,减少查询条件。南宁这把这个是没有做好的
    • 设备表,按线路、按专业分库或分表,然后再缓存,设备表数据做好后,几乎不会变化
    • 同意还有故障的管理,故障体系的管理等 会跨吗?

    乾坤声音:

    • 没有好的服务器,只有pc机,再怎么优化,也就那样,数据再多点还是顶部住,买了好服务器,上固态,快的狠
    • 分表,分库,读写分离,预先计算,集群,都可以用啊
    • 现在200完支持,多一百万,有可能就不是一个数量级的增加时间啊
    • 数量是可以估算,要做性能测试,要在正式服务器同样的配置环境下测试
    • 这个还是要综合考虑,在必要合理的设计下,如果服务器完全没问题,就没必要浪费几个月的时间去优化,而且讲究性能的同时,要考虑开发的复杂度和可靠性啊,这些都会增加成本啊
    • 要是还顶部住叫客户加服务器,加固态硬盘,用集群
    • 其实最好的的方案就是上mongodb+hadoop,分裤分表只是止痒,机器摆在那,而且这些那出去吹那是刚刚的,嘿嘿
    • 思路同意分库分表,怎么分,是根据业务特点来的

    讨论过程摘录:

    • (坤)有好的服务器,只有pc机,再怎么优化,也就那样,数据再多点还是顶部住,买了好服务器,上固态,快的狠
    • (张)是否有优化方案
    • (坤)分表,分库,读写分离,预先计算,集群,都可以用啊
    • (张)我们现在的设计要考虑到南宁线网形成,运营有几千人使用的情况。不这样考虑,以后系统会重写,得不偿失。
    • (坤)现在200完支持,多一百万,有可能就不是一个数量级的增加时间啊
    • (邓)优先解决重要紧急问题
    • (坤)数量是可以估算,要做性能测试,要在正式服务器同样的配置环境下测试
    • (张)要考虑眼前问题,但也要考虑到以后几年的问题。在设计思路上要清楚,落实可以分步走。
    • (邓)有考虑
    • (坤)这个还是要综合考虑,在必要合理的设计下,如果服务器完全没问题,就没必要浪费几个月的时间去优化,而且讲究性能的同时,要考虑开发的复杂度和可靠性啊,这些都会增加成本啊
    • (邓)看公司管理模式,按线路管则按线路分库,如果按专业管就按专业分库
    • (邓)我们思路就是分库分表,优化查询
    • (坤)要是还顶部住叫客户加服务器,加固态硬盘,用集群
    • (邓)月度结余统计也是为分表作的准备
    • (腾)12360招标的时候,大铁说谁能解决就谁来做,钱不是问题,全国没人投标。不是硬件堆起来就可以解决的
    • (肖)看了昨晚讨论了半天,没实质的思路和解决方案,重庆项目两年的数据已经到千万级了,我南宁只有一条线估计没这么快的增长量。按朱总的想法,重庆很有可能会有两条新线的其他专业纳入系统,数据量增长会更快。所以我还是按专业的模式设计分表,按公司模式分库,工单业务表按月度或年度归档。以适应专业的扩展,分公司模式,和多年运行性能的保证。
    • (邓)重庆的管理模式是按线路管理的,我建议先按线路,再按专业分库。原因是线路之间交叉管理的较少,专业交叉的更少
    • (邓)绩效考核及报表都是以月度为单位,可以考虑按月度分
    • (邓)对于基础数据,几乎不会有太多变化,可以考虑直接全部缓存到内存中
    • (邓)重庆的管理模式是按线路管理的,我建议先按线路,再按专业分库。原因是线路之间交叉管理的较少,专业交叉的更少
    • (邓)报表的统计数据按月度结余的方式全部用中间表存放
    • (邓)在前期如果数据量还可以控制时,可以先用视图。量大后采取定时任务在闲时进行结余计算统计
    • (邓)所以,对于购买的框架,你这把要向厂商了解,他们的缓存、分库、分表是如何实现的。
    • (邓)在硬件方面也要提前考虑,逻辑服务器的数量及部署方案,每台服务器的最大并发极限是多少。这个也可以让厂商提供
    • (邓)mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。所有查询条件其实应该尽量减少
    • (肖)很多场景都要关联设备表,但设备表还是比较大的,设备表是如何考虑的
    • (邓)所有在业务上可以考虑wbs的利用,减少查询条件。南宁这把这个是没有做好的
    • (邓)设备表,按线路、按专业分库或分表,然后再缓存,设备表数据做好后,几乎不会变化
    • (肖)缓存不了吧,数据有200万,需要多少内存才能缓存呵
    • (肖)200万很少,不是缓存所有字段,只缓存,查询需要的。例如:id、wbs、name就差不多了
    • (坤)其实最好的的方案就是上mongodb+hadoop,分裤分表只是止痒,机器摆在那,而且这些那出去吹那是刚刚的,嘿嘿
    • (肖)分线路+分专业分库或分表后,设备单表的数据还会去到多少?
    • (肖)分表,一般不建议按两个维度分了,要不然,引入的编程就会复杂
    • (肖)这些理论都明白,现在要是找到编程和数据量的一个平衡点
    • (肖)分表后,要根据分表的条件,路由到对应的分表进行查询
    • (肖)如按线路+专业分表,表的结构可能会是这样的:m_asset_line1_tri
    • (肖)还得考虑动态表字段拼接等,多表关联时如何拼接
    • (邓)调度下单,选择设备时。调度的身份是确定的啊,某条线+某个专业
    • (邓)调度会跨专业下单,或跨线路下单?
    • (邓)同意还有故障的管理,故障体系的管理等 会跨吗?
    • (坤)思路同意分库分表,怎么分,是根据业务特点来的
    • (邓)有些业务逻辑性强的,你还得做分布式事务控制

    相关文章

      网友评论

          本文标题:性能讨论

          本文链接:https://www.haomeiwen.com/subject/jdyfkxtx.html