分布式系统性能调优系统架构

性能监控部分

JobServer是分布式任务集群。 需要队分布式系统中的各个环节进行时间上报。有一定的开发工作量,应尽量做到不影响分布式任务的性能。整个时间线树如下:

struct TimeNode {
    std::string name;  //job name
    int task_id;       //job id
    int64_t begin;     //begin time
    int64_t end;      //end time
    std::string extra_info_json;
    
};

struct TimeNodeTree {
    TimeNode line;   // time line
    int sub_task_type; //pipeline, parallel
    std::vector<TimeNodeTree *> sub_tasks;  //all sub time line   
};

TimeLine数据上报到统一的日志网关接收,并存储到DB中,如果日志量比较大,考虑先缓存到消息队列中。WebServer负责处理数据并给前端返回TimeLineTree数据。前端具此绘制TimeLinel图。

性能自动调优部分

所有参数存储到ETCD中,主要是利用ETCD自动推送数据的功能。各个JobServer以ETCD中的参数为准。 同时一些实时性能参数也由JobServer写回ETCD。并能展示在前端。手动调优是由人在前端中动态修改参数值,来观察系统性能变化。 自动调优则需要编写自动调优函数来自动动态改变参数值,同时记录下性能变化情况,在前端绘制图表。自动调优器将保存最佳配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值