zoukankan      html  css  js  c++  java
  • 程序执行效率优化方法

    对于批量处理任务程序,提高处理效率的方案就是分批次、并行处理。

    并行处理需要解决的是硬件资源的竞态问题,具体表现为CPU占用100%、内存占用100%和磁盘占用100%,分别对应的是计算密集型、I/O密集型任务。

    而提升处理效率的方案就是根据应用情况,分析任务执行时硬件资源的竞态表现,通过均衡并行任务的资源占用情况来解决处理瓶颈。

    具体处理方法为:

    1 如果多核心处理器,则根据物理核数和逻辑核数确定并行任务数;

    2 如果多个磁盘,则根据并行任务均衡分配数据到不同的磁盘中;

    3 如果磁盘I/O瓶颈明显,则可以考虑增加SSD或将数据读入内存中来环节磁盘读写瓶颈;

    4 通过监测各个物理硬件的资源占用情况,调整批处理应用策略,维持各项资源运行占用在90~95%。

    5 如果为多机集群,应设计好共享存储与物理计算/内存资源之间的架构问题,以及任务调度通信带宽的监控。

    总结一下:

    1 充分利用物理资源,同时避免竞态;

    2 通过监控资源应用率,动态调整批处理参数(包括并行worker数;批次大小;数据分布;共享内存使用等);

    3 针对应用处理瓶颈,进行优化

  • 相关阅读:
    .NET的SqlHelper应用代码
    .NET获取客户端的操作系统、IP地址、浏览器版本
    Codevs 3981 动态最大子段和
    洛谷 P3373 【模板】线段树 2
    一些笔记【杂】
    洛谷 P1432 倒水问题
    洛谷 P2324 [SCOI2005]骑士精神
    Codevs 1010 过河卒
    POJ 3278 Catch That Cow
    洛谷P2184 贪婪大陆
  • 原文地址:https://www.cnblogs.com/dadream/p/10528818.html
Copyright © 2011-2022 走看看