• 什么是TSO(tidb配置tso)


    部署 Drainer
    获取 initial_commit_ts
    使用 binlogctl 工具生成 Drainer 初次启动所需的 tso 信息,命令:

    $ cd /home/tidb/tidb-ansible
    $ resources/bin/binlogctl -pd-urls=http://127.0.0.1:2379 -cmd generate_meta
    INFO[0000] [pd] create pd client with endpoints [http://192.168.199.118:32379]
    INFO[0000] [pd] leader switches to: http://192.168.199.118:32379, previous:
    INFO[0000] [pd] init cluster id 6569368151110378289
    2018/06/21 11:24:47 meta.go:117: [info] meta: &{CommitTS:400962745252184065}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    分析:什么是tso
    查看tso状态
    ethtool -k ens160

    TSO(TCP Segmentation Offload),是利用网卡对TCP数据包分片,减轻CPU负荷的一种技术,也有人叫 LSO (Large segment offload) ,TSO是针对TCP的,UFO是针对UDP的。如果硬件支持 TSO功能,同时也需要硬件支持的TCP校验计算和分散/聚集 (Scatter Gather) 功能。如果网卡支持TSO/GSO,可以把最多64K大小的TCP payload直接往下传给协议栈,此时IP层也不会进行segmentation,网卡会生成TCP/IP包头和帧头,这样可以offload很多协议栈上的内存操作,节省CPU资源,当然如果都是小包,那么功能基本就没啥用了。
    ————————————————
    对TSO的简单理解就是:
    比如:我们要用汽车把3000本书送到另一个城市,每趟车只能装下1000本书,
    那么我们就要书分成3次来发。如何把3000本书分成3份的事情是我们做的,汽车司机只负责运输。
    TSO的概念就是:我们把3000本书一起给司机,由他去负责拆分的事情,这样我们就有更多的时间处理其他事情。
    对应到计算机系统中,“我们”就是CPU,“司机”就是网卡。
    在网络系统中,发送tcp数据之前,CPU需要根据MTU(一般为1500)来将数据放到多个包中发送,对每个数据包都要添加ip头,tcp头,分别计算IP校验和,TCP校验和。如果有了支持TSO的网卡,CPU可以直接将要发送的大数据发送到网卡上,由网卡硬件去负责分片和计算校验和。

    来源:https://blog.csdn.net/jiangbenchu/article/details/99973801

  • 相关阅读:
    【译文】四十二种谬误(一)
    .NET笔记(二)
    设计模式C#实现(十六)——中介者模式
    设计模式C#实现(十五)——命令模式
    《程序员修炼之道》笔记
    《学会提问》读书笔记
    设计模式C#实现(十四)——责任链模式
    设计模式C#实现(十三)——享元模式(蝇量模式)
    学以致用——读《学会提问》
    访问苹果开发者网站太慢
  • 原文地址:https://www.cnblogs.com/gao88/p/13402512.html
Copyright © 2020-2023  润新知