zoukankan      html  css  js  c++  java
  • Srorm并发机制

    一:介绍

    1.运行组件

      

      

    2.并发度

      就是executor数量

      executor线程是物理线程

      task是执行线程

    二:增加并发度

    三:Worker层次

    1.worker工作进程上  

      各个Spout组件、Bolt组件如果在代码中没有显式指定由多少个executor线程来执行,那么默认各由1个executor来执行

      那么并发度就是Spout与Bolt的个数加起来。

      通过增加worker进程数量,可能可以提高并发性能(是可能,因为四个线程在抢占一个进程),主要要求清楚整个Topology有多少个executor线程

      

    2.在worker进程上进行对比(worker=2)

      

      worker=2

      

    3.性能问题  

      个数的确定需要看executor线程。

      如果executor的个数是4,给值6,则不会提高性能。

      一个worker进程跑1到2个executor线程,性能更好。

    4.代码体现

      这里可以设置为2。

      

    五:Exeutor层次

    1.executor线程层次

      提高并发度,本质提高executor数量

      Executor数量的设置,针对具体某个组件 (spout、bolt)

      globalGrouping 全局分组, executor数量设置多个没有什么作用,就用1个

    2.在代码上体现

      setSpout的最后一个参数是executor线程的参数。

      setBlot的最后一个参数也是executor线程参数。

      globalGrouping这种全局分组,只需要设置1即可,多了也是没有用。

      ===》》一个八个线程。

    六:Task层次

    1.Task层次(很少设置)

      是Task执行线程

      每个物理线程 executor默认情况只运行一个task执行线程

    2.代码体现

      

    8.为啥不常使用设置

      每个物理线程 executor默认情况只运行一个task执行线程

      Spout4task,这4个运行在2executor上, 每个物理线程平均执行2task

      并不能提高性能。

  • 相关阅读:
    黑马程序员_使用Jquery实现AJAX功能
    BootStrap 推荐网站
    工具类
    ExtJS 模块案例(增删改查)
    sql server 经典语句。~转 (入门必看)
    sql 时间格式转换
    转载wuhuacong(伍华聪)的专栏 利用Aspose.Word控件实现Word文档的操作 (留作笔记)
    c#操作Word文件 导出数据到word文档 (table 书签方式)
    ExtJs之格式化(Ext.util.Format) ~转
    查询/修改XML里某个字段的值
  • 原文地址:https://www.cnblogs.com/juncaoit/p/6352176.html
Copyright © 2011-2022 走看看