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
随机推荐
- 教你从零搭建Web漏洞靶场OWASP Benchmark
摘要:Owasp benchmark 旨在评估安全测试工具的能力(准确率.覆盖度.扫描速度等等),量化安全测试工具的扫描能力,从而更好得比较各个安全工具优缺点. 本文分享自华为云社区<Web漏洞 ...
- 分享个本地maven配置
用阿里云的快有点受不了了,经常有包下载不了 settings.xml <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0&q ...
- ME2N增强
一.ME2N增加字段 二.结构中添加扩展字段 附加结构中添加同名这些字段时会报错,原因是MEREP_OUTTAB_DOWNPAY等结构已存在该字段,导致冲突 三.添加逻辑代码 包含文件LMEREPI0 ...
- 【辅助工具】IDEA使用
IDEA使用 快捷键 快捷键 alt+enter:代码错误智能提示 alt+up:上个方法 alt+down:下个方法 alt+1:快速定位到项目窗口,还可边按键盘输文件名查找文件 alt+F7:定位 ...
- 【CJsonObject】C++ JSON 解析器使用教程
能选封装的尽量不使用底层的 一.CJsonObject 简介 CJsonObject 是 Bwar 基于 cJSON 全新开发一个 C++ 版的 JSON 库. CJsonObject 的最大优势是轻 ...
- Codeforces 189 A. Cut Ribbon(DP 恰装满的完全背包问题)
题目链接 Polycarpus has a ribbon, its length is n. He wants to cut the ribbon in a way that fulfils the ...
- jdk1.8: Consumer函数
场景: 当我们在a方法中,需要把某些参数赋值给一个Integer类型的对象,而该对象只有在b方法才能赋值,那么我们可以在a方法中使用consumer记录我们要执行的操作,再把consumer作为参数传 ...
- ios ipa包上传需要什么工具
目录 ios ipa包上传需要什么工具 前言 一.IPA包的原理 二.IPA包上传的步骤 1.注册开发者账号 2.apk软件制作工具创建应用程序 3.构建应用程序 4.生成证书和配置文件 5.打包 ...
- vue+iviews 动态表格(table组件)
iviews官网上关于table的使用方法是固定表头的使用方法,如何生成动态的table网上找了好多也没有特别合适的,综合几位博主的文章经过尝试终于实现了,分享出来供大家参考 一.先看官网上的样例 官 ...
- 【译】 双向流传输和ASP.NET Core 3.0上的gRPC简介
原文相关 原文作者:Eduard Los 原文地址:https://medium.com/@eddyf1xxxer/bi-directional-streaming-and-introduction- ...
