VictoriaMetrics中如何执行特定的Sao操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2309个文字,预计阅读时间需要10分钟。
victoriaMetrics中的Sao操作指南:- 查询Sao操作- 查看Sao目录- 快速获取当前时间- 计算结构体的哈希值- 将字符串添加到已有的[byte]数组中- 将int64数组转换为byte数组- 并发访问时使用sync.WaitGroup- 时钟
victoriaMetrics中的一些Sao操作 目录- victoriaMetrics中的一些Sao操作
- 快速获取当前时间
- 计算结构体的哈希值
- 将字符串添加到已有的[]byte中
- 将int64的数组转换为byte数组
- 并发访问的sync.WaitGroup
- 时间池
- 访问限速
- 优先级控制
victoriaMetrics中有一个fasttime库,用于快速获取当前的Unix时间,实现其实挺简单,就是在后台使用一个goroutine不断以1s为周期刷新表示当前时间的变量currentTimestamp,获取的时候直接原子加载该变量即可。其性能约是time.Now()的8倍。
其核心方式就是将主要任务放到后台运行,通过一个中间变量来传递运算结果,以此来通过异步的方式提升性能,但需要业务能包容一定的精度偏差。
本文共计2309个文字,预计阅读时间需要10分钟。
victoriaMetrics中的Sao操作指南:- 查询Sao操作- 查看Sao目录- 快速获取当前时间- 计算结构体的哈希值- 将字符串添加到已有的[byte]数组中- 将int64数组转换为byte数组- 并发访问时使用sync.WaitGroup- 时钟
victoriaMetrics中的一些Sao操作 目录- victoriaMetrics中的一些Sao操作
- 快速获取当前时间
- 计算结构体的哈希值
- 将字符串添加到已有的[]byte中
- 将int64的数组转换为byte数组
- 并发访问的sync.WaitGroup
- 时间池
- 访问限速
- 优先级控制
victoriaMetrics中有一个fasttime库,用于快速获取当前的Unix时间,实现其实挺简单,就是在后台使用一个goroutine不断以1s为周期刷新表示当前时间的变量currentTimestamp,获取的时候直接原子加载该变量即可。其性能约是time.Now()的8倍。
其核心方式就是将主要任务放到后台运行,通过一个中间变量来传递运算结果,以此来通过异步的方式提升性能,但需要业务能包容一定的精度偏差。

