vm-storage在全部都是旧metric情况下的写入性能测试
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
接上篇:测试所有metric都是存在过的metric的情况下,单核的极限写入性能。也就是说,只增加数据部分,不影响索引部分。
1.基础信息
- CPU 1核
- 内存 8GB
- 本地磁盘(应该是SATA盘)
- metric的平均长度:513字节
- vm-storage版本:v1.78.0-cluster
- 压测方法:使用remote write协议写入完全不同的metric数据,每次发送1000条,每核50个并发,一共15核。
- vm-insert 5 实例,共20核,资源充足
- vm-insert的关键参数如下:
-maxConcurrentInserts=默认值-sortLabels: 开启label的排序。-insert.maxQueueDuration=3s,允许在队列中等待的最长时间。-dropSamplesOnOverload: 为了保护vm-insert自身,在vm-storage变慢后,立即丢弃数据。
2.vm-storage性能表现
- CPU占用:0.80核~0.89核 (相当于CPU资源已经到瓶颈了)
- 内存:3.52GB, 占44%
- 网络入流量:810kb/s
- 磁盘读:平均100kb~200kb/s, 峰值2.38mb/s ,最高延迟 5.14ms
- 磁盘写:平均100kb~500kb/s,峰值7.05mb/s, 最高延迟 43.6ms
- 相比于写入索引,写入数据所占用的IO要小得多
- 新的metric的占比 0%, slow insert的占比0%(显而易见) , tsid cache的miss率 0%(显而易见)
- 每秒写入的data point数量:43万/s
- vm-insert端:
- 请求量:431583/s
- 丢弃量:5028/s
3.总结
- 当所有的time series都是旧的情况下, vm-storage的的单核的极限写入性能大约是:43万/s
- 磁盘读是写入流量的 四分之一, 磁盘写是写入流量的 二分之一
- 当写入量过大时,CPU是瓶颈。内存、网络流量和磁盘IO的资源占用相对较小。
- 根据压测数据:写入索引的成本是写入数据的 43万 / 6000 = 71.7倍
4.遗留问题
- 怎么样让vm-insert尽量不丢包,又不会导致过载?
- vm-insert的资源与vm-storage的配比是怎么样的?配置多少vm-insert才能不出现drop数据?
- 旧metric和新metric按照一定比例混合发送的时候,性能表现又是怎么样的?
vm-storage在全部都是旧metric情况下的写入性能测试的更多相关文章
- Hive&SqlServerql:inner join on条件中如果两边都是空值的情况下,关联结果中会把数据给过滤掉。
今天遇到的一个大坑,话不多少,看sql和下边的查询结果: --问题:恰好把buildingid is null的记录给过滤掉 ),buildingid ),)); ); ); ); ); ); ); ...
- 在不连接网线的情况下Windos与VM之间如何ping通
一般情况下,如果宿主主机的网口连接网线并且能够上网,那么按照VM的默认安装,在VM-Settings-Hardware-Network Adapter-Network connection中选择Bri ...
- 关于RecyclerView你知道的不知道的都在这了(下)
目录 目录 正文 6. Recycler 7. ItemAnimator 8. ItemDecoration 9. OnFlingListener 目录 由于本篇篇幅特长,特意做了个目录,让大伙对本篇 ...
- PHP一般情况下生成的缩略图都比较不理想
PHP用GD库生成高质量的缩略图片,PHP一般情况下生成的缩略图都比较不理想.今天试用PHP,GD库来生成缩略图.虽然并不100%完美.可是也应该可以满足缩略图的要求了.<?php $FILEN ...
- 请问下mtk双卡手机怎样发短信是怎样选择sim卡来发(双卡都可用的情况下)?
如题,我如今可以获取双卡状态,当仅仅有单一卡的时候可以指定sim卡进行发短信,可是双卡都可用的情况下,程序就默认使用卡1发短信了.即使指定了sim卡编号.
- 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...
- RabbitMQ默认情况下不保证每次都把消息传递
有意思,RabbitMQ默认情况下是不保证每次都把消息传递的,很多情况下我们都是这样发送数据的, channel.BasicPublish(QUEUE_NAME, String.Empty, n ...
- 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(上) 微信、QQ、新浪微博等第三方登录,你想知道的都在这了(下)
微信.QQ.新浪微博等第三方登录,你想知道的都在这了(上):https://www.jianshu.com/p/133d84042483 微信.QQ.新浪微博等第三方登录,你想知道的都在这了(下):h ...
- Notification 多次传递参数 一直都是旧的 解决
参考 :http://blog.163.com/caoguoqiang_dlut/blog/static/10658914220114167219320/ 问题描述: 在service中获取到数据,通 ...
- 前端重定向,index.html文件被浏览器缓存,导致整个应用都是旧的
解决方法:https://github.com/ant-design/ant-design-pro/issues/1365#issuecomment-384496088
随机推荐
- 顶会VLDB‘22论文解读:CAE-ENSEMBLE算法
摘要:针对时间序列离群点检测问题,提出了基于CNN-AutoEncoder和集成学习的CAE-ENSEMBLE深度神经网络算法,并通过大量的实验证明CAE-ENSEMBLE算法能有效提高时间序列离群点 ...
- Spring Boot Admin 授权配置
Admin 服务端配置 添加 POM 引用 <dependency> <groupId>org.springframework.boot</groupId> < ...
- selenium 访问无等待
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities desired_capabilities ...
- MQTT 客户端 MQTT.fx 使用说明
下载 官网:https://softblade.de/en/download-2/ 说明:最后的免费版本是 MQTT.fx 1.7.1,官网已经没有免费的版本 下载 MQTT.fx 1.7.1 htt ...
- k8s-部署 Kubernetes 集群(kubeadm方式)
一 机器准备 IP 主机名 角色 配置 安装组件 192.168.198.150 master-1 master 2U2G master组件 etcd kubectl 192.168.198.151 ...
- 采购订单创建、修改、审批增强ME21N/ME22N/ME28/ME29N
一.采购订单创建修改增强 BADI:ME_PROCESS_PO_CUST 通过POST方法中的参数im_header,获取对应的数据 订单头 "----------------------- ...
- VSCode一键调用DOSBox运行MASM/TASM代码的自定义任务
在学习汇编的时候,发现很多教程都未使用 VSC 进行开发,今天在 Gitee 看有意思的项目时候发现了这个 DOS汇编/VSC-ASMtasks 通过配置VSCode的自定义任务来实现调用dosbox ...
- 深入学习和理解 Redux
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/jhgQXKp4srsl9_VYMTZXjQ作者:曾超 Redux官网上是这样描述Redux, ...
- redis管道技术pipeline一 ——api
import java.io.UnsupportedEncodingException; import java.util.Set; import org.springframework.beans. ...
- 安全情报 | Pypi再现窃密攻击投毒
概述 悬镜安全自研的开源组件投毒检测平台通过对主流开源软件仓库(包括Pypi.NPM.Ruby等)发布的组件包进行持续性监控和自动化代码安全分析,同时结合专家安全经验复审,能够及时发现组件包投毒事件并 ...
