摘要:看了VictoriaMetrics,学会了几个新写法,记录下来: 1. 数组拷贝 以前: arr := make([]byte, 0, len(oldArr) arr = append(arr, oldArr...) 现在: arr := append([]byte{}, oldArr...) 2.
阅读全文
摘要:下方是benchmark的数据差异: import ( "reflect" "unsafe" ) // NoAllocString convert []byte to string func NoAllocString(buf []byte) string { return *(*string)(u
阅读全文
摘要:在阅读VictoriaMetrics的源码的时候,读到了那么平平无奇的一段: // AddRows adds the given mrs to s. func (s *Storage) AddRows(mrs []MetricRow, precisionBits uint8) error { if
阅读全文
摘要:zstd是facebook开源的一个C语言的压缩库。 从官方提供的压测数据看,它的压缩速度与众所周知的以快著称的snappy的压缩速度几乎持平,但是压缩率上比老牌的gzip还要高。 再看看zstd吊打gzip这张图: 最快每秒压缩512MB 最高达到4倍压缩率 跑得快,拉得多,我们这种搞网络数据运输
阅读全文
摘要:学习VictoriaMetrics源码的时候发现,VictoriaMetrics的缓存部分,使用了同一产品下的fastcache。下面分享阅读fastcache源码的的结论: 1.官方介绍 fastcache是一个用go语言实现的,很快的,线程安全的,内存缓存的,用于大量对象缓存的组件。 它的特点是
阅读全文
摘要:今天听说了一个新的C++语言开发的网络框架,叫做seastar。 seastar有何特别之处呢?先看看官网提供的性能数据: 性能 HTTPD benchmark: cpu # request/sec 2 637,430(相当于单核性能318715/s ) 4 1,303,761 6 1,907,91
阅读全文
摘要:1.基本类型都是复制语义的 fn main(){ let a = 123; { #[allow(unused_variables)] let b = a; //如果是移动语义,那么后续的a将不再有效 } println!("{:?}", a); //编译成功,说明a是复制语义 } 2.非基本类型是移
阅读全文
摘要:1.vm-storage源码调用表 文件 行号 函数 说明 app/vmstorage/main.go 53 main 入口94行调用srv.RunVMSelect() app/vmstorage/transport/server.go 151 func (s *Server) RunVMSelec
阅读全文
摘要:调用层次表格 源文件 行号 函数 说明 app/vmselect/main.go 63 main 入口 92行调用 requestHandler app/vmselect/main.go 132 -requestHandler 处理http协议的入口 222行调用 selectHandler app
阅读全文
摘要:先说结论 vm-insert与vm-storage之间采用极其简单的通讯协议 对于简单的场景,越简单性能越高 vm-insert连接到vm-storage后,先发送字符串vminsert.02,vm-storage收到后回复字符串ok,然后握手成功 vm-insert发送一个字节的压缩标志给vm-s
阅读全文
摘要:使用中发现,vm-storage节点仅仅过了6天,就占用了800GB的硬盘空间。很不正常。下面是排查过程: 1.查看磁盘占用情况: 先登录容器,执行: df -h /dev/vdb 1012.8G 870.2G 142.7G 86% /var/victoria-metrics/data 2.查看节点
阅读全文
摘要:直接上代码: #!/bin/bash dedup_list(){ v_list=$(echo "$1" | sed "s/,/\n/g" | sort -u | tr '\n' ',') if [ "${v_list: -1:1}" == "," ]; then let v_len=${#v_lis
阅读全文
摘要:vm-insert采用remote-write的http协议来接收metric数据,然后按照一定算法转发到vm-storage群集。 vm-insert到vm-storage这里是用了自己的二进制协议的(数据序列化的方式还没看),从测试数据来看,这里转发数据的压缩比达到了29倍!!! 输入的HTTP
阅读全文